nickbutcher / plaid Goto Github PK
View Code? Open in Web Editor NEWAn Android app which provides design news & inspiration as well as being an example of implementing material design.
License: Apache License 2.0
An Android app which provides design news & inspiration as well as being an example of implementing material design.
License: Apache License 2.0
Hello,
Thanks for this great source code :)
There is a problem when I open DesignerNewsStory for second time for an item in recycler view. I have made two screenshots for the first time and for the second time.
Each time I open them I get this in my log:
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: Exception thrown during async generate
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: java.lang.IllegalArgumentException: x + width must be <= bitmap.width()
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.graphics.Bitmap.checkPixelsAccess(Bitmap.java:1390)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.graphics.Bitmap.getPixels(Bitmap.java:1346)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.support.v7.graphics.Palette$Builder.getPixelsFromBitmap(Palette.java:693)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.support.v7.graphics.Palette$Builder.generate(Palette.java:607)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.support.v7.graphics.Palette$Builder$1.doInBackground(Palette.java:664)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.support.v7.graphics.Palette$Builder$1.doInBackground(Palette.java:660)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at android.os.AsyncTask$2.call(AsyncTask.java:288)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10-31 00:25:38.821 26818-3395/io.plaidapp E/Palette: at java.lang.Thread.run(Thread.java:818)
It is running in Android Api 21.
Thanks
When leaving the app through the device's Back button and try to enter again by the recent apps list get the message "Could not start the Plaid".
After i downgraded supportLibVersion = '23.1.1' to prevent the recyclerview issue from coming up and crashing the app, I ran the app and then clicked on one of the items in the recyclerview which triggered the crash below
03-01 16:35:58.179 14818-14818/io.plaidapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.plaidapp, PID: 14818
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.plaidapp/io.plaidapp.ui.DribbbleShot}: android.view.InflateException: Binary XML file line #48: Binary XML file line #48: Error inflating class android.widget.Button
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: Binary XML file line #48: Binary XML file line #48: Error inflating class android.widget.Button
at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at io.plaidapp.ui.DribbbleShot.onCreate(DribbbleShot.java:169)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: Binary XML file line #48: Error inflating class android.widget.Button
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at io.plaidapp.ui.DribbbleShot.onCreate(DribbbleShot.java:169)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:619)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at io.plaidapp.ui.DribbbleShot.onCreate(DribbbleShot.java:169)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 24: TypedValue{t=0x3/d=0x3f5 "res/color/secondary_text_material_dark.xml" a=1 r=0x1060119}
at android.content.res.TypedArray.getColor(TypedArray.java:447)
at android.widget.TextView.(TextView.java:738)
at android.widget.Button.(Button.java:109)
at android.widget.Button.(Button.java:105)
at android.widget.Button.(Button.java:101)
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:619)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at io.plaidapp.ui.DribbbleShot.onCreate(DribbbleShot.java:169)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
When I select an image of the Dribble, and then rotate the device, the FAB disappears. To rotate again, he remains missing.
Hey. First of all I want to thank you for open sourcing such a beautiful masterpiece. I loved everything about Plaid. I love the transitions, animations, UI designing and everything. Your project will help a lot of designers and developers to build better apps. Also, Nice use of light status bar.
I am requesting you to kindly make this app backward compatible. I know there are things you have used which are not possible prior Lollipop. Still I would love to see this app in pre-Lollipop devices.
I would really appreciate that.
Rotate Screen results:
Heart
button.Main Page:
Plaid Item Page:
good job keep going
Process: io.plaidapp, PID: 8269
java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
at android.support.v7.widget.RecyclerView.assertNotInLayoutOrScroll(RecyclerView.java:2161)
at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onItemRangeInserted(RecyclerView.java:4275)
at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyItemRangeInserted(RecyclerView.java:9948)
at android.support.v7.widget.RecyclerView$Adapter.notifyItemInserted(RecyclerView.java:5850)
at io.plaidapp.ui.FeedAdapter.dataStartedLoading(FeedAdapter.java:633)
at io.plaidapp.data.BaseDataManager.dispatchLoadingStartedCallbacks(BaseDataManager.java:166)
at io.plaidapp.data.BaseDataManager.loadStarted(BaseDataManager.java:73)
at io.plaidapp.data.DataManager.loadSource(DataManager.java:78)
at io.plaidapp.data.DataManager.loadAllDataSources(DataManager.java:59)
at io.plaidapp.ui.HomeActivity$4.onLoadMore(HomeActivity.java:183)
at io.plaidapp.ui.recyclerview.InfiniteScrollListener.onScrolled(InfiniteScrollListener.java:54)
at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3948)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3102)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2914)
at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1430)
at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:147)
at android.support.v7.widget.RecyclerView$1.run(RecyclerView.java:285)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:773)
at android.view.Choreographer.doCallbacks(Choreographer.java:586)
at android.view.Choreographer.doFrame(Choreographer.java:555)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:759)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5313)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1116)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:809)
This has been driving me mad for a couple of days now:
According to the code, when dismissing the dialog there should be an animation to hide dialog child views:
// hide child views (offset down & fade out)
if (endValues.view instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) endValues.view;
for (int i = 0; i < vg.getChildCount(); i++) {
View v = vg.getChildAt(i);
v.animate()
.alpha(0f)
.translationY(v.getHeight() / 3)
.setStartDelay(0L)
.setDuration(50L)
.setInterpolator(AnimationUtils.loadInterpolator(vg.getContext(),
android.R.interpolator.fast_out_linear_in))
.start();
}
}
But as you can see in this slow motion capture it never happens. It just goes blank.
If this custom transition is removed (so the default one is executed) then you can see the dialog content animated back into the fab.
So there must be something in ChangeBounds
removing hero view children from the animation. But I can't find what it is.
I scrolled to bottom too much and wanted to do a search. I had to scroll back to the top to find the search button.
I import the progrect into studio, but some config is wrong ,it cann`t be compiled normally, so could you help me ?
When I click on a DribbleShot, the preview image is animated to the header image in details screen.
On Samsung S5, the image bounds seems not to change and the small preview image goes to the top left on screen. Afterwards it pops to full size, if the image was not loaded (cached) before.
If the details were opened before (so the image was cached), the image stays in the top left corner.
It seems to be an issue with glide and/or caching, but happens to me only on the Samsung S5 (Android 5.0, Build LRX21T.G900FXXU1POFE)
I'm running into the same issue in my app, hope you have an idea to fix it.
Forgive me if this is already mentioned elsewhere, I couldn't find any discussion in existing issues.
Since a lot of developers are looking to this project as a yard stick for how to implement material design and meaningful interaction, would you be open to PRs backporting some of the components to earlier API versions? Would be nice to see the support libraries do some of the heavy lifting.
Example: InkPageIndicator
can be backported(ish) to API 15.
@nickbutcher Asked you about this on twitter but you requested more info as a Github issue so:
In Plaid the drawer items can be selected and deselected to filter out items in the main grid. I noticed that for this, you chose to build your own filtering system, instead of using Filterable
by implementing it in the grids adapter class. I was curious as to why?
I already become a tester, but when I click download it on Google Play the result show that there is "The requested URL was not found on this server."
W PathParser: Points are too far apart 4.001877165966242
W PathParser: Points are too far apart 4.001877165966242
(and more)
Animating from either search to back or back to search causes several lines of warnings in logcat. Seems to be an issue in the searchback_path_circle
(Seen on a Nexus 6P)
import the project to Android Studio 1.5beta
gradle build
Error:(23, 0) For input string: ""
Open File
I'm getting the following error when i compile and run it on my Galaxy s5. When install from google play it works just fine.
java.lang.RuntimeException:
Unable to get provider android.support.v4.content.FileProvider:
java.lang.ClassNotFoundException:
Didn't find class "android.support.v4.content.FileProvider" on path:
DexPathList[[zip file "/data/app/io.plaidapp-2/base.apk"],nativeLibraryDirectories=[/data/app/io.plaidapp-2/lib/arm, /vendor/lib, /system/lib]]
I noticed that the transition animation was off when the ListView is scrolled up. Specifically, when the commentList
is scrolled to bottom and I finish the activity, the ImageView seemed to expand to the original position, and it was transition back to a wrong position in the RecyclerView, where the image is cut off, and eventually the image jumped back to the correct position. An example is the gif below:
I checked the code in DribbbleShot#expandImageAndFinish()
, the animation brings the ImageView back to offset = 0
, but that doesn't seem to be enough to adjust the transition animation.
To work around it, I tried scrolling the commentList
back to position 0 before finishing the activity, and it is working quite well. All I did was using commentsList.smoothScrollToPosition(0);
instead of the ObjectAnimation. To make things smoother, you can also add a slight delay on calling finishAfterTransition()
.
I tried upgrading to 1.5.0 of the gradle plugin but I got this error:
Error:Execution failed for task ':bypass:transformNative_libsWithSyncJniLibsForRelease'.
java.io.FileNotFoundException: /Users/......./GIT/plaid/third_party/bypass/build/intermediates/bundles/release/jni/lib/arm64-v8a/libbypass.so (No such file or directory)
Hi Nick, we have talked about the architecture of this app via hangouts a few weeks ago.
Finally, I was able to write down some of my thoughts on my blog. It was way more complex and tooked much longer than I have expected, but I do not really need to tell you that 😄
If you are still interested in hearing my point of view about software architecture on android I would like to ask you to read my blog post about the refactoring as I'm explaining some core aspects there (so I don't have to repeat myself here again).
Part 1: http://hannesdorfmann.com/android/plaid-refactored-1/
Part 2: http://hannesdorfmann.com/android/plaid-refactored-2/
If you really want to go the "truly reactive way" as described in my blog post I will do some code clean up and make a pull request. Otherwise, I don't mind because as already said the main goal was to write an blog post.
All libraries I have used are under Apache 2 license.
Last but not least I want to thank you for open sourcing this app. It's a truly inspiration and I have learned a lot about animations and UI / UX!
When creating the API key for Dribbble and for ProductHunt, what did you use as the callback/redirect URL when registering an application on their site?
Is it OK to use http://www.example.com ?
I clicked on the Install on Google Play (Beta Testing) in the readme from my android device. I joined the beta tester group, and when I click "download it on google play" it says "Item not found."
I was curious as to why you used an ImageButton over a FloatingActionButton for the fab?
I would like know if it will be helpful if I contribute some unit tests.
Thank you
Farid
how to use this library? tnx
As the title says, latest update broke the toolbar menu items, they are not clickable i thought you disabled them until.i swipe out the navigation menu manually instead of the menu item and it works which leads that there is something wrong with the menu items.
Im using Lollipop, galaxy s6 edge if that helps.
... and why is it necessary?
private void updateOffsets() {
ViewCompat.offsetTopAndBottom(mView, mOffsetTop - (mView.getTop() - mLayoutTop));
ViewCompat.offsetLeftAndRight(mView, mOffsetLeft - (mView.getLeft() - mLayoutLeft));
// Manually invalidate the view and parent to make sure we get drawn pre-M
if (Build.VERSION.SDK_INT < 23) {
tickleInvalidationFlag(mView);
final ViewParent vp = mView.getParent();
if (vp instanceof View) {
tickleInvalidationFlag((View) vp);
}
}
}
private static void tickleInvalidationFlag(View view) {
final float x = ViewCompat.getTranslationX(view);
ViewCompat.setTranslationY(view, x + 1);
ViewCompat.setTranslationY(view, x);
}
Comment option should not be display to a prospect.
Hey,
found a crash on LG G2, Android 5.0.1
Steps to reproduce:
FATAL EXCEPTION: main Process: io.plaidapp, PID: 24700 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.drawable.Drawable.setState(int[])' on a null object reference at android.widget.SearchView.updateFocusedState(SearchView.java:861) at android.widget.SearchView.access$000(SearchView.java:95) at android.widget.SearchView$2.run(SearchView.java:165) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5292) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703))
I got this error:
Error:(17, 1) A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
> Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in .../plaid/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip
However, it has been resolved in 'backport' branch.
bbb9694
I hasten to report because it could not build.
What is the purpose of archivesBaseName
in build.gradle of app module?
//def gitCommitCount = Integer.parseInt('git rev-list --count HEAD'.execute([],project.rootDir).text.trim())
'git rev-list --count HEAD'.execute([],project.rootDir).text.trim() can not be cast into Integer
i just wrote def gitCommitCount = n instead ..
It happens on two different genymotion devices with 5.0 and 5.1.0, after I browse few grid items.
11-02 11:46:49.654 2492-2492/io.plaidapp E/art: Throwing OutOfMemoryError "Failed to allocate a 1555212 byte allocation with 828657 free bytes and 809KB until OOM"
11-02 11:46:49.654 2492-2492/io.plaidapp D/AndroidRuntime: Shutting down VM
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: FATAL EXCEPTION: main
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: Process: io.plaidapp, PID: 2492
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 1555212 byte allocation with 828657 free bytes and 809KB until OOM
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.graphics.Bitmap.nativeCreate(Native Method)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:812)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:789)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:756)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.transition.TransitionUtils.createViewBitmap(TransitionUtils.java:165)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.SharedElementCallback.onCaptureSharedElementSnapshot(SharedElementCallback.java:177)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityTransitionCoordinator.captureSharedElementState(ActivityTransitionCoordinator.java:767)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityTransitionCoordinator.captureSharedElementState(ActivityTransitionCoordinator.java:690)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.EnterTransitionCoordinator.sendSharedElementDestination(EnterTransitionCoordinator.java:194)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.EnterTransitionCoordinator.viewsReady(EnterTransitionCoordinator.java:121)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.EnterTransitionCoordinator.triggerViewsReady(EnterTransitionCoordinator.java:139)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.EnterTransitionCoordinator.viewInstancesReady(EnterTransitionCoordinator.java:100)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityTransitionState.startEnter(ActivityTransitionState.java:206)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityTransitionState.enterReady(ActivityTransitionState.java:186)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.Activity.onNewActivityOptions(Activity.java:5503)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityThread.onNewActivityOptions(ActivityThread.java:2507)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1508)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5254)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
11-02 11:46:49.654 2492-2492/io.plaidapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Hi,
I cannot install backport branch on my Anroid Api 17 device. It force closes and its mainly related to SVG xml files
ParsePlayer in DribbleSearch crashes at matchId.group(1) in
if (matchId.find()) {
id = Long.parseLong(matchId.group(1));
}
Stacktrace:
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: Process: io.plaidapp, PID: 30818
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: java.lang.RuntimeException: An error occured while executing doInBackground()
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:304)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:242)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=1
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.lang.String.indexAndLength(String.java:500)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.lang.String.substring(String.java:1313)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at io.plaidapp.data.api.dribbble.DribbbleSearch.parsePlayer(DribbbleSearch.java:121)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at io.plaidapp.data.api.dribbble.DribbbleSearch.parseShot(DribbbleSearch.java:95)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at io.plaidapp.data.api.dribbble.DribbbleSearch.search(DribbbleSearch.java:70)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at io.plaidapp.data.DataManager$11.doInBackground(DataManager.java:386)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at io.plaidapp.data.DataManager$11.doInBackground(DataManager.java:383)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:292)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
11-04 18:17:33.939 30818-31202/io.plaidapp E/AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
11
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.