Coder Social home page Coder Social logo

securityfirst / umbrella_android Goto Github PK

View Code? Open in Web Editor NEW
255.0 19.0 61.0 86.08 MB

Open source Android, iOS and Web app for learning about and managing digital and physical security. From how to send a secure message to dealing with a kidnap. Umbrella has best practice guides in over 40 topics in multiple languages. Used daily by people working in high risk countries - journalists, activists, diplomats, business travelers etc.

Home Page: http://www.secfirst.org

License: GNU General Public License v3.0

HTML 0.42% Kotlin 99.58%
opensource security risk human-rights-defenders activism infosec journalism hacking lessons travel

umbrella_android's People

Contributors

apigeoneer avatar aymandf avatar coccodrillo avatar danieleorlando avatar douglasalipio avatar eighthave avatar enjeck avatar fgei avatar jac88 avatar krzd avatar madelineearp avatar rorymbyrne avatar stavares843 avatar tomerpacific avatar tomrittervg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

umbrella_android's Issues

NullPointerException on CheckList.

Sometimes when I am navigating on checkList view I get nullPointExceptions

java.lang.NullPointerException: at org.secfirst.umbrella.adapters.CheckListAdapter.getCount (CheckListAdapter.java:44) at android.widget.ListView.setAdapter (ListView.java:493) at org.secfirst.umbrella.fragments.TabbedFragment$CheckItemFragment.onCreateView (TabbedFragment.java:438) at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819) at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332) at android.support.v4.app.FragmentManagerImpl.execSingleAction (FragmentManager.java:2209) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss (BackStackRecord.java:649) at android.support.v4.app.FragmentPagerAdapter.finishUpdate (FragmentPagerAdapter.java:145) at android.support.v4.view.ViewPager.populate (ViewPager.java:1238) at android.support.v4.view.ViewPager.populate (ViewPager.java:1086) at android.support.v4.view.ViewPager$3.run (ViewPager.java:267) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:874) at android.view.Choreographer.doCallbacks (Choreographer.java:686) at android.view.Choreographer.doFrame (Choreographer.java:618) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:860) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:163) at android.app.ActivityThread.main (ActivityThread.java:6228) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776)

Dashboard refresh leads to frozen screen

On Moto G, Android 4.4

Going to dashboard, which refreshes with the latest data, going to the bottom of the available data and then pulling down (to refresh), leads to frozen screen. Cannot go back up to the top of the feed, can only go to menu and navigate away.

Dashboard updates appear in the notification tray

The utility of the of security dashboard is limited by the fact that a user has to go into the app to actually check the dashboard updates (from the UN, CDC etc). It would be useful to have a feature for a user to be able to set

a) Whether they want dashboard updates to appear in the notification tray
b) How often they want the dashboard updates to appear in the tray (e.g immediately, one per hour, per day, per week etc)
c) Whether they want none, silent or audio alert

[Crash] checklist feature

Stack trace logged on Google Play.

java.lang.NullPointerException: at org.secfirst.umbrella.fragments.CheckItemFragment.populateAdapter (CheckItemFragment.java:147) at org.secfirst.umbrella.fragments.CheckItemFragment.onCreateView (CheckItemFragment.java:142) at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819) at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332) at android.support.v4.app.FragmentManagerImpl.execSingleAction (FragmentManager.java:2209) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss (BackStackRecord.java:649) at android.support.v4.app.FragmentPagerAdapter.finishUpdate (FragmentPagerAdapter.java:145) at android.support.v4.view.ViewPager.populate (ViewPager.java:1238) at android.support.v4.view.ViewPager.setCurrentItemInternal (ViewPager.java:663) at android.support.v4.view.ViewPager.setCurrentItemInternal (ViewPager.java:625) at android.support.v4.view.ViewPager.setCurrentItem (ViewPager.java:606) at org.secfirst.umbrella.fragments.TabbedFragment$TabbedContentFragment$1.onClick (TabbedFragment.java:252) at android.view.View.performClick (View.java:6294) at android.view.View$PerformClick.run (View.java:24770) at android.os.Handler.handleCallback (Handler.java:790) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6494) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)

Create a blank checklist feature

Under "My Security -> My Checklists," create a feature for users to be able to begin, see and use a completely blank checklist - without the need to have only Lesson Checklists

F-droid repo not verifying

I add repo and fingerprint provided in readme but it says: Supplied certificate fingerprint does not match

Missing F-Droid category

Is missing an entry for the the categories field from the F-Droid server metadata (currently categorized under "None").

You could either create your own category like Guardian Project has, or categorize it under a pre-existing one, perhaps under "Reading".

NullPointerException on ListAdapter

java.lang.NullPointerException: at org.secfirst.umbrella.adapters.FilledOutFormListAdapter.onBindViewHolder (FilledOutFormListAdapter.java:68) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder (RecyclerView.java:6508) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder (RecyclerView.java:6541) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline (RecyclerView.java:5484) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline (RecyclerView.java:5750) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5589) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5585) at android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2231) at android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1558) at android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1518) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:610) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3719) at android.support.v7.widget.RecyclerView.onMeasure (RecyclerView.java:3135) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical (LinearLayout.java:806) at android.widget.LinearLayout.onMeasure (LinearLayout.java:685) at android.view.View.measure (View.java:22104) at android.widget.LinearLayout.measureVertical (LinearLayout.java:958) at android.widget.LinearLayout.onMeasure (LinearLayout.java:685) at android.view.View.measure (View.java:22104) at android.support.v4.widget.SwipeRefreshLayout.onMeasure (SwipeRefreshLayout.java:627) at android.view.View.measure (View.java:22104) at android.support.v4.view.ViewPager.onMeasure (ViewPager.java:1632) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.FrameLayout.onMeasure (FrameLayout.java:185) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical (LinearLayout.java:806) at android.widget.LinearLayout.onMeasure (LinearLayout.java:685) at android.view.View.measure (View.java:22104) at android.support.v4.widget.DrawerLayout.onMeasure (DrawerLayout.java:1060) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.FrameLayout.onMeasure (FrameLayout.java:185) at android.support.v7.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:139) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical (LinearLayout.java:806) at android.widget.LinearLayout.onMeasure (LinearLayout.java:685) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.FrameLayout.onMeasure (FrameLayout.java:185) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical (LinearLayout.java:806) at android.widget.LinearLayout.onMeasure (LinearLayout.java:685) at android.view.View.measure (View.java:22104) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6584) at android.widget.FrameLayout.onMeasure (FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure (DecorView.java:722) at android.view.View.measure (View.java:22104) at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2441) at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1522) at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1775) at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1410) at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6834) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:966) at android.view.Choreographer.doCallbacks (Choreographer.java:778) at android.view.Choreographer.doFrame (Choreographer.java:713) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:952) at android.os.Handler.handleCallback (Handler.java:789) at android.os.Handler.dispatchMessage (Handler.java:98) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6809) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)

[Crash] tabview component.

Stack trace logged on Google Play.

java.lang.IllegalStateException: at com.j256.ormlite.stmt.SelectIterator.next (SelectIterator.java:183) at com.j256.ormlite.dao.LazyForeignCollection.toArray (LazyForeignCollection.java:217) at java.util.ArrayList.<init> (ArrayList.java:191) at org.secfirst.umbrella.fragments.StepFragment.onCreateView (StepFragment.java:121) at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819) at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332)

Add Masking App Image and image of shaking to the explainer

Add masking app image to the explainer (also and image of the device being shaken), so that the user knows what to look for when it disappears and it's easier to visual remember what they are supposed to do.

Also, tell them in may take up to 30 seconds for the Umbrella App to initially mask, as sometimes there is a slowness.

Bug - Empty feed view

When there's no feed to show the application crash.

Go to feed - type Brazil as location - go to any lesson - and then press back button.

Push Tags for the Latest Releases

As of now Umbrella has reached 0.2.5 on master and 0.2.4 on Google Play. However, the latest tag on GitHub is still 0.1.9. Could you please release some tags so that it would be easier for putting the app into F-Droid main archive?

Thanks!

Make masking app permanent unless user selects otherwise

At present the masking app only functions until the user shakes the masked app and opens Umbrella again. The app then reappears on the Android Menu. This might be confusing to users. We should add a setting that allows users to keep the app hidden, open it through the masked app, use Umbrella, then close it and it returns to the masked app - with Umbrella not appearing on the Android Menu directly until they change a setting for that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.