Code Monkey home page Code Monkey logo

privly-android's People

Contributors

arjunvijayvargiya avatar born2c0de avatar gitanshu avatar jagatheesan avatar metlaivan avatar mkash32 avatar smcgregor avatar vshivam avatar

Stargazers

 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

privly-android's Issues

Rename Index application.

The Index application is now known as 'History'. All related Strings in the android app need to be updated.

Scan more Tweets option.

Implement a scan more tweets option which allows the user to scan tweets further for Privly links.

Error in building Android

Some issues came when trying to run the app:

  1. https://gist.github.com/mkash32/7ecb48cdf5881abdbbfe :- After searching, I found the fix for this would be to change compile sdk in the build.gradle file to "23",build tootls to "23.0.0", and changing to appcompat-v7:23.0.+. After applying this fix the build was fine, but there another issue arose (during compile I assume)

  2. https://gist.github.com/mkash32/fe8b9f87bc561311dad2 :- Researching about this issue led to excluding some http libraries because duplicates will be compiled when we include the android play services in the dependencies in build.gradle (app module). Applying this fix led to another issue.

3)https://gist.github.com/mkash32/9d63765c8c3ce90c3d1f :- The fix for this seemed very complex and unnecessary.

Implement a Navigation Drawer.

Implement the default navigation drawer provided by android.
[http://developer.android.com/training/implementing-navigation/nav-drawer.html]

Call JSObject Bridge method which redirects users to LoginActivity.

Whenever there's an authentication failure on loading a PrivlyApplication in the webview, it shows a button to login which loads the 'Login' PrivlyApplication in the WebView because that's the default behaviour for privly-web. This will possibly confuse the user because he sees a different login page on first usage of the application and then a different login screen in the above mentioned case.

So, what we need to do is to redirect the user to LoginActivity in case of the authentication failure. The method is already defined here : https://github.com/privly/privly-android/blob/master/src/main/java/ly/priv/mobile/utils/JsObject.java#L113

You'd probably want to initiate the call from here :
https://github.com/privly/privly-applications/blob/1c6a6f586401c0c98f7a3575f7cdf952642b50a3/shared/javascripts/network_service.js#L439

Previous discussion : privly/privly-applications#154

Renaming ZeroBin Application

@vshivam,

UX testing on the privly-chrome extension showed confusion on first-use of the system. Part of the problem was that users did not know which application to select and they were not interested in reading about the different apps. This means we needed to select a strong default before asking the users to change applications. In furtherance of "selecting a default," we renamed the ZeroBin application to "Message." This probably means you will need to change a few strings in the Android app to match.

How much work does renaming or introducing an app to privly-android require? I plan on introducing a series of experimental applications in the coming months so I want to workout publishing steps for non-browser interfaces.

-Sean

Automatic Log out just after Log in

Since the login isn't working currently, I went to https://privlyalpha.org/token_authentications/new and logged in to get my auth_token and I hard-coded it into the project. After logging into the android app, the privly main page is visible and at the top the status is shown as

"Pending Server Check, Application is checking its connection with the remote server"

This activity is visible for a second and then it goes back to the login activity. The call to log out is being made in the JsObject: https://github.com/privly/privly-android/blob/master/app/src/main/java/ly/priv/mobile/utils/JsObject.java#L115.
This is being called from the javascript code: https://github.com/privly/privly-applications/blob/30b06e77f57eedc451956e318b7ddc5e00877196/shared/javascripts/network_service.js#L447

I'm assuming some checks are being done in the JS code that are redirecting me to log out everytime. Could this be due to harcoding the auth_token?

If not, does anyone know why this is happening?

Implement a 'View Privly content from' section in the Navigation Drawer

The application currently has a 'Connect Privly with' section in the navigation drawer. However, once a user connects with a particular service, it doesn't make sense to have that service in the same section.

We need to add a third section which lists the services the user has already connected the application with.

Add Secure Sharing of Keys

Mobile applications are an ideal way to transfer keys from one trusted device to another. In this project you would be building out this functionality for integration with the Privly family of applications. The ideal proposal would include key exchange with NFC and/or QR codes. The challenge with this project will not be to build communication for key exchange, but to properly integrate the exchanged keys with the rest of the architecture. One potential process would be to:

  1. Two users select "exchange contacts" in the Android application
  2. The users place their phones near each other and keys are exchanged
  3. The exchanged key is signed by the mobile device and pushed to the user's key exchange storage (the content server would work here, but this could equally be Twitter or email)
  4. The exchanged key is also stored to the local storage of the webview so privly-applications can benefit from the newly trusted contact.
  5. When the user encounters the shared key from the content server (or twitter/email) on the browser version of the extension, the key is synced to the browser.

This is intended to be the discussion point for project proposals.

Filtering Feeds

In the Twitter/FB/Gmail reading applications, you should default to only showing the user content that has Privly-type links. The best way to do this is to display any content that contains the word "privly." Since the users are unlikely to have any content when they first install the application it may be necessary to define filler content that will not be shown as soon as the app has real contents to display. I suggest showing a fake Tweet/Message/Email that gives the user information about the application.

Logout button doesn't actually logout.

@smcgregor , @vshivam when I added the ability to handle valid Privly Links system wide (that is, when a valid link is clicked, the cont is fetched and shown in ShowContentFragment inside MainActivity) in my pull request #55 , I discovered a bug, even if you have logged out, if you click any Privly link - the content is being fetched and shown.

Use support library for the Action Bar.

We're currently using the Sherlock Action Bar for displaying the action bar. We should update the application to use the support library provided by android for displaying the action bar. Ideally, we could use the latest 'toolbar' implementation.

User Messaging

I think the application could benefit from additional prompting and directions at several steps. Specifically,

  • Tell user they need to link their twitter/fb/etc account before continuing to the "reading" screen for these applications. If you drop the person in the login screen, they might not know why they need to log into another service.
  • When you start the configuration activity, it isn't immediately clear that the user needs to setup the application. A splash screen before the configuration steps would be useful.
  • It might also be good to separate the apps in the drawer based on whether they have previously been linked.

Unexpected stop on logging into twitter for the first time

Bug Report :

  • Application crashes when you login to the twitter account for the first time and scroll through the tweets.
  • Logcat Output :

03-06 11:40:21.896 10910-10910/ly.priv.mobile E/InputEventReceiver﹕ Exception dispatching input event.
03-06 11:40:21.896 10910-10910/ly.priv.mobile D/AndroidRuntime﹕ Shutting down VM
03-06 11:40:21.945 10910-10910/ly.priv.mobile E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: ly.priv.mobile, PID: 10910
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131427422, class android.widget.ListView) with Adapter(class android.widget.HeaderViewListAdapter)]

Icon Update

There is a better icon that can be found here. I recommend replacing the current lock found in the upper left. If this icon doesn't work because it is too dark, then we should make a lighter version of it.

Do we need all those gmail related libs ?

@gitanshu We have these dependencies for gmail but do we really need all of these ?

compile 'com.google.http-client:google-http-client-gson:1.19.0'
compile 'com.google.http-client:google-http-client-jackson2:1.19.0'
compile 'com.google.android.gms:play-services:+'
compile 'com.google.api-client:google-api-client:1.19.0'
compile 'com.google.api-client:google-api-client-jackson2:1.19.1'
compile 'com.google.api-client:google-api-client-android:1.19.1'
compile 'com.google.api-client:google-api-client-gson:1.19.1'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'com.google.apis:google-api-services-gmail:v1-rev9-1.19.0'
compile 'com.fasterxml.jackson.core:jackson-core:2.5.0'
compile 'com.google.oauth-client:google-oauth-client:1.19.0'
compile 'com.google.http-client:google-http-client-android:1.19.0'
compile 'com.google.http-client:google-http-client:1.19.0'
compile 'org.apache.httpcomponents:httpcore:4.4'

For me the app seems to work with these two dependencies :

compile 'com.google.android.gms:play-services:+'
compile 'com.google.apis:google-api-services-gmail:v1-rev24-1.19.1'

Invalid facebook permission

"read_mailbox" is deprecated.

This app is throwing a Invalid Scope for read_mailbox.

how will app display inbox messages?

Create Issues for GSoC Students

The Privly GSoC program requires students to complete a bug before we will review their student application. Since the repository currently has no open issues, students can't do an Android GSoC project.

We need "onboarding" issues such that the issue teaches the prospective student about the code base and design of the application. The challenge in writing onboarding issues is that they need to be achievable to someone who is new to the code base.

LobsterTextView.

It might be a better idea to create a custom text view class which automatically sets the typeface to lobster rather than setting it explicitly to every text view via the java code.

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.