coding-blocks / chatter Goto Github PK
View Code? Open in Web Editor NEWChat app for gitter
License: GNU General Public License v3.0
Chat app for gitter
License: GNU General Public License v3.0
Current the messages are not being displayed in a room.
Also the networking is handled poorly, multiple API calls are made.
Use of Rx java and retrofit for API calls and checking networking connectivity in realtime using Rx java
There should be an issue template added to the repo for enabling a proper documentation of bugs and updations to the code-base
Populating the Dashboard Activity would be the next step to go forward.
Difficulty: Hard
CC: @championswimmer @the-dagger
Please add bounty points :)
Since, we got a rooms fragment which displays all our rooms, we now would need to view messages from them.
onClick
attribute to the dynamically generated views which opens a new fragment.Difficulty: Hard
CC: @championswimmer @the-dagger
Please add bounty points :)
On first launch, the app crashes with a Unique PrimaryKey exception.
A fix for this is needed.
There should be an issue template added to the repo for enabling a proper documentation of the Pull Request
Actual Behaviour
App crashes on startup due to ButterKnife.bind(this);
LogCat for the issue
05-15 02:08:30.269 20920-20920/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 20920
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.codingblocks.chatter/com.codingblocks.chatter.AuthenticationActivity}: java.lang.IllegalStateException: Required view 'authentication_web_view' with ID 2131230747 for field 'authenticationWebView' was not found. If this view is optional add '@nullable' (fields) or '@optional' (methods) annotation.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
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)
Caused by: java.lang.IllegalStateException: Required view 'authentication_web_view' with ID 2131230747 for field 'authenticationWebView' was not found. If this view is optional add '@nullable' (fields) or '@optional' (methods) annotation.
at butterknife.internal.Utils.findRequiredView(Utils.java:92)
at butterknife.internal.Utils.findRequiredViewAsType(Utils.java:104)
at com.codingblocks.chatter.AuthenticationActivity_ViewBinding.(AuthenticationActivity_ViewBinding.java:25)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at butterknife.ButterKnife.createBinding(ButterKnife.java:199)
at butterknife.ButterKnife.bind(ButterKnife.java:124)
at com.codingblocks.chatter.AuthenticationActivity.onCreate(AuthenticationActivity.java:39)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
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)
Issues-
I'm working on this
Actual Behaviour
At present, the Room message show without any order means recent message display on top of recycler view and room message has not a proper layout and there is no any mechanism to detect the link in the message.
Expected Behaviour
Room Message must be displayed according to the date and in user message the web link automatically recognize
Steps to reproduce it
Adding the business logic and make a good layout.
LogCat for the issue
No Logcat this is only improvement
Screenshots of the issue
Expected Bounty
Actual Behaviour: The RoomFragment class produce Null pointer exception upon frequent clicking on several lobbies together.
Cause: The fragments get detached from their concerned activity upon frequent traversal, so the call to getActivity() method results in Null pointer exception.
Would you like to work on this issue: Yes.
First part of #34
Actual Behaviour
App Crash on Send Message in Room Fragment
LogCat for the issue
05-25 17:45:12.489 14346-14346/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 14346
java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction.
at io.realm.internal.Table.throwImmutable(Table.java:979)
at io.realm.internal.Table.checkImmutable(Table.java:827)
at io.realm.internal.UncheckedRow.setString(UncheckedRow.java:236)
at io.realm.MessagesTableRealmProxy.realmSet$uId(MessagesTableRealmProxy.java:164)
at com.codingblocks.chatter.MessagesTable.setUId(MessagesTable.java:30)
at com.codingblocks.chatter.RoomFragment$6$1.run(RoomFragment.java:378)
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:6798)
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)
Screenshots of the issue
Where-ever possible add a screenshot of the issue.
Expected Bounty
Mention the bounty you expect for the issue (if not tagged in the issue)
An app icon would be awesome.
Do not work on this before #80
Since the current size of the project is small and the app idea has good potential. Only authentication works perfectly right now. It would be great to start using the Architecture components now to increase maintainability, readability and developing experience. Also, follow Repository pattern.
This transformation should be done over multiple pull request step-by-step.
@championswimmer @the-dagger Need your suggestions.
ButterKnife.bind(this); in the AuthenticationActivity.java should be written after setcontentview
Actual Behaviour
Currently, the splash screen loads full-fledged layout which takes a noticeable amount of time to load
Expected Behaviour
Splash screen should not have layout but themes. Themes loads almost instantly.
Steps to reproduce it
The following steps would need to be taken:
TextBox
along side the RecyclerView
which currently takes the complete height of the parent.DraftMessage
in the RoomsTable
which will give us drafted message support.MessagesTable
and add another column called syncState which denotes the whether the message has been synced or not. (This is extremely usefull when internet is not available)MessagesTable
to be synced with Gitter.Difficulty: Hard
CC: @championswimmer @the-dagger
Please add bounty points :)
Actual Behaviour
Now there is no any option to refresh the RoomsFragment to know the unread message in RoomsFragment. We only have one option which is click the Room button in bottom navigation
Expected Behaviour
I think it is the good choice to refresh the RoomsFragment when we vertical swipe in the screen.
Steps to reproduce it
Adding theSwipeRefreshLayout in the RoomsFragment layout.
LogCat for the issue
This is improvement
Screenshots of the issue
No Screen shot
Expected Bounty
100
Mention the bounty you expect for the issue (if not tagged in the issue)
Actual Behaviour
Saved Messaged in realm are adding up with every room messages
Expected Behaviour
Only Message of the room selected should come
Steps to reproduce it
LogCat for the issue
No crash only messages are adding up with every room messages
Screenshots of the issue
Expected Bounty
20
Actual Behaviour
The EditText
in RoomFragment
uses text
to display the placeholder text
Expected Behaviour
It should use hint
to display the placeholder text
Actual behavior
App crashes when the EditText
in RoomFragment
is focused
LogCat
java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction.
at io.realm.internal.Table.throwImmutable(Table.java:841)
at io.realm.internal.Table.checkImmutable(Table.java:699)
at io.realm.internal.UncheckedRow.setString(UncheckedRow.java:226)
at io.realm.RoomsTableRealmProxy.realmSet$draftMessage(RoomsTableRealmProxy.java:289)
at com.codingblocks.chatter.RoomsTable.setDraftMessage(RoomsTable.java:30)
at com.codingblocks.chatter.RoomFragment$3.onFocusChange(RoomFragment.java:117)
at android.view.View.onFocusChanged(View.java:5726)
at android.widget.TextView.onFocusChanged(TextView.java:8241)
at android.view.View.handleFocusGainInternal(View.java:5481)
at android.view.View.requestFocusNoSearch(View.java:8481)
at android.view.View.requestFocus(View.java:8460)
at android.view.View.requestFocus(View.java:8427)
at android.view.View.requestFocus(View.java:8406)
at android.view.View.onTouchEvent(View.java:10314)
at android.widget.TextView.onTouchEvent(TextView.java:8322)
at android.view.View.dispatchTouchEvent(View.java:9306)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
at android.app.Activity.dispatchTouchEvent(Activity.java:2820)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:71)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
at android.view.View.dispatchPointerEvent(View.java:9526)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4267)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4133)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3674)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3727)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3693)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3819)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3701)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3876)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3674)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3727)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3693)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3701)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3674)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5959)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5933)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5894)
at android
05-18 14:45:11.520 14438-14438/com.codingblocks.chatter E/MQSEventManagerDelegate: failed to get MQSService.
At first after adding logs to all requests, I found that the server is not giving any response (404 not found) due to which the JSONObject Class is unable to create a json object
Request request = new Request.Builder()
.url("https://gitter.im/v1/user/me")
.addHeader("Accept", "application/json")
.addHeader("Authorization:", "Bearer " + accessToken)
.build();
is giving no response(404)
JSONObject
is not created.Here are the detailed logs:
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: onCreateView:=====================WELCOME TO THE ROOM(S) FRAGMENT!!=================
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: onCreateView: Realm initialized and got its instance.querying for results
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: onCreateView: realm query result (rooms):[]
onCreateView: adding on change listener for live results on realmResults (room)
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: onCreateView: setting rv layout manager and calling display rooms for the following result:[]
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: displayRooms: called with realmResult(rooms):[]
displayRooms: roomsize=0, calling getrooms(1)
getRooms: called with severity=1
isNetworkAvailable: called
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: network is availabale
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: getting access token from shared prefs->UserPreferences
getRooms: token recievede887b3aab4a137af403da8e65ebd9f63039d60fa
getRooms: creating OkHTTP Request
6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: request created:Request{method=GET, url=https://gitter.im/v1/rooms, tag=null}
getRooms: creating new call using request and enqueue
.301 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: displayRooms: recycle view setted with rooms:[]
displayRooms: calling getrooms(severity:0)
getRooms: called with severity=0
isNetworkAvailable: called
.302 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: network is availabale
.308 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: getting access token from shared prefs->UserPreferences
getRooms: token recieved :######my_access_token##################
getRooms: creating OkHTTP Request
.309 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: getRooms: request created:Request{method=GET, url=https://gitter.im/v1/rooms, tag=null}
getRooms: creating new call using request and enqueue
.811 6554-6604/com.codingblocks.chatter E/NativeCrypto: ssl=0xb8f9e0a0 cert_verify_callback x509_store_ctx=0xa1b10460 arg=0x0
ssl=0xb8f9e0a0 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
.937 6554-6606/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9096c90 cert_verify_callback x509_store_ctx=0xa1a0c460 arg=0x0
ssl=0xb9096c90 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
30.389 6554-6604/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: client:onResponse:response recieved: Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}
client:onResponse:responseText:{"rooms":Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}}
client:onResponse:started running on UI Thread
30.403 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: runUI: inside run
30.404 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: runUI: trying to convert to json object
30.406 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: run: json exception occurred:Unterminated object at character 18 of {"rooms":Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}}
30.589 6554-6606/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: client:onResponse:response recieved: Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}
client:onResponse:responseText:{"rooms":Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}}
client:onResponse:started running on UI Thread
30.590 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: runUI: inside run
runUI: trying to convert to json object
30.595 6554-6554/com.codingblocks.chatter E/ANSH>>ROOMFRAG>>: run: json exception occurred:Unterminated object at character 18 of {"rooms":Response{protocol=http/1.1, code=404, message=Not Found, url=https://gitter.im/v1/rooms}}
Actual Behaviour
When no internet connection available while opening the app then the App automatically crashes.
Expected Behaviour
If no internet connection available then App must open the NoNetworkActivity.
Steps to reproduce it
The problem occurs on ButterKnife to bind the button.
LogCat for the issue
05-24 12:14:34.794 24877-24877/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 24877
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.codingblocks.chatter/com.codingblocks.chatter.NoNetworkActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2455)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.access$1000(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.codingblocks.chatter.NoNetworkActivity.onCreate(NoNetworkActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6357)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2408)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.access$1000(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Screenshots of the issue
Expected Bounty
20
Actual Behaviour
On selecting a room app is crashing with error
Invalid query: field 'roomId' not found in table 'RoomsTable'.
Expected Behaviour
It should display a list of messages
Steps to reproduce it
Just select any of the room from rooms fragment
LogCat for the issue
05-25 09:41:52.504 30729-30729/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 30729
java.lang.IllegalArgumentException: Invalid query: field 'roomId' not found in table 'RoomsTable'.
at io.realm.internal.fields.CachedFieldDescriptor.compileFieldDescription(CachedFieldDescriptor.java:78)
at io.realm.internal.fields.FieldDescriptor.compileIfNecessary(FieldDescriptor.java:284)
at io.realm.internal.fields.FieldDescriptor.getColumnIndices(FieldDescriptor.java:177)
at io.realm.RealmQuery.equalToWithoutThreadValidation(RealmQuery.java:256)
at io.realm.RealmQuery.equalTo(RealmQuery.java:251)
at io.realm.RealmQuery.equalTo(RealmQuery.java:236)
at com.codingblocks.chatter.RoomFragment.onCreateView(RoomFragment.java:78)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2354)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700)
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:6798)
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)
Screenshots of the issue
Where-ever possible add a screenshot of the issue.
Expected Bounty
20
org.json.JSONException: No value for username
at org.json.JSONObject.get(JSONObject.java:389)
at org.json.JSONObject.getString(JSONObject.java:550)
at com.codingblocks.chatter.DashboardActivity$1.onResponse(DashboardActivity.java:80)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:141)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
is crashing the app
Butterknife.bind() in roomsfragment have used a wrong constructor in fragment
Second part of #34
Device Use : Redmi Note 3
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.codingblocks.chatter/com.codingblocks.chatter.AuthenticationActivity}: java.lang.IllegalStateException: Required view 'authentication_web_view' with ID 2131230747 for field 'authenticationWebView' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2455)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.access$1000(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: java.lang.IllegalStateException: Required view 'authentication_web_view' with ID 2131230747 for field 'authenticationWebView' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
at butterknife.internal.Utils.findRequiredView(Utils.java:92)
at butterknife.internal.Utils.findRequiredViewAsType(Utils.java:104)
at com.codingblocks.chatter.AuthenticationActivity_ViewBinding.<init>(AuthenticationActivity_ViewBinding.java:25)
at java.lang.reflect.Constructor.newInstance(Native Method)
at butterknife.ButterKnife.createBinding(ButterKnife.java:199)
at butterknife.ButterKnife.bind(ButterKnife.java:124)
at com.codingblocks.chatter.AuthenticationActivity.onCreate(AuthenticationActivity.java:39)
at android.app.Activity.performCreate(Activity.java:6357)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2408)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.access$1000(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
The app crashes when a user selects the Rooms tab in the bottom navigation bar.
Loogcat For The Error
05-15 10:20:38.243 7526-7526/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 7526
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
at com.codingblocks.chatter.RoomsFragment.onCreateView(RoomsFragment.java:71)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:718)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5728)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
05-15 10:20:38.980 7526-7542/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bd9e98 cert_verify_callback x509_store_ctx=0xa3dfac7c arg=0x0
05-15 10:20:38.980 7526-7542/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bd9e98 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
I would like to work on this issue.
TaskStackBuilder
builder objectSyncAdapter
in #10 via #13NotificationCompat.Builder
CC: @championswimmer @the-dagger
Difficulty: Hard
Pls add bounties
To make sure we are up to date with the changes in Android, we should
Here's the major API changes: https://developer.android.com/sdk/api_diff/27/changes
Gif size should be ~1mb not too large
Process: com.codingblocks.chatter, PID: 12436
android.content.res.Resources$NotFoundException: String resource ID #0x64
at android.content.res.Resources.getText(Resources.java:328)
at android.content.res.MiuiResources.getText(MiuiResources.java:124)
at android.widget.TextView.setText(TextView.java:4432)
at com.codingblocks.chatter.RoomsAdapter.onBindViewHolder(RoomsAdapter.java:54)
at com.codingblocks.chatter.RoomsAdapter.onBindViewHolder(RoomsAdapter.java:12)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6354)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6387)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5343)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5606)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5448)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5444)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2224)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1551)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1511)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:595)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3600)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3036)
at android.view.View.measure(View.java:18827)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18827)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18827)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18827)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2136)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1248)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1484)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6064)
at android.view.Choreographer$CallbackRecord.run(Choreographer.jav
The steps are complex and would need the use of a Web browser thus recommending to use a WebView and a dedicated activity for authentication.
Complexity: Hard.
Currently all the code-files are in a single directory. Organizing it into directories for Fragments, Adapters etc. would be easy for viewing purposes.
Third part of #34
I think the App should have an icon with chatter's Color palette and gitter-like icon.
Working on it
When the user first selects the Rooms tab, it works fine. (I am working on the issue #26 ) . But after frequent and continuous traversal of all the tabs, the app crashes.
Logcat
05-15 10:35:48.092 8971-8989/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bd2bd0 cert_verify_callback x509_store_ctx=0xa3dfac7c arg=0x0
05-15 10:35:48.092 8971-8989/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bd2bd0 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
05-15 10:35:54.618 8971-9092/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9c26de8 cert_verify_callback x509_store_ctx=0xa2d9cc7c arg=0x0
05-15 10:35:54.618 8971-9092/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9c26de8 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
05-15 10:35:54.822 8971-9094/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9c10408 cert_verify_callback x509_store_ctx=0xa2c97c7c arg=0x0
05-15 10:35:54.822 8971-9094/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9c10408 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
05-15 10:35:54.879 8971-9103/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bb4e48 cert_verify_callback x509_store_ctx=0xa28dcc7c arg=0x0
05-15 10:35:54.880 8971-9103/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bb4e48 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
05-15 10:35:54.897 8971-9102/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bb4d08 cert_verify_callback x509_store_ctx=0xa29e1c7c arg=0x0
05-15 10:35:54.897 8971-9102/com.codingblocks.chatter E/NativeCrypto: ssl=0xb9bb4d08 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
05-15 10:35:55.259 8971-9092/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: com.codingblocks.chatter, PID: 8971
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.runOnUiThread(java.lang.Runnable)' on a null object reference
at com.codingblocks.chatter.RoomsFragment$2.onResponse(RoomsFragment.java:133)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:141)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
I would like to work on this issue.
Butterknife.bind not done in No Internet Connection Activity and app gets crashed.
05-15 19:55:44.535 25362-25535/com.codingblocks.chatter E/chromium: [ERROR:gl_context_virtual.cc(39)] Trying to make virtual context current without decoder.
05-15 19:55:47.470 25362-25362/com.codingblocks.chatter E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codingblocks.chatter, PID: 25362
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
at com.codingblocks.chatter.RoomsFragment.onCreateView(RoomsFragment.java:71)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:718)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
App crashes when we click the Rooms button in bottom navigation bar.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.