|
|
Created:
6 years, 2 months ago by Changwan Ryu Modified:
6 years, 2 months ago CC:
chromium-reviews, darin-cc_chromium.org, jam, klobag.chromium Base URL:
https://chromium.googlesource.com/chromium/src.git@master Project:
chromium Visibility:
Public. |
Description[Android] Add ScrollView to DateTimePicker
On small screen devices, such as one with 800x480 resolution,
time picker does not render correctly, and sometimes causes a crash.
This adds a layer of ScrollView so that time picker can be accessed
and rendered correctly.
BUG=407543
Committed: https://crrev.com/43435213d9a2431bed1be8aec18dd8b7d452eadd
Cr-Commit-Position: refs/heads/master@{#297514}
Patch Set 1 #
Total comments: 2
Patch Set 2 : fixed landscape layout #
Total comments: 3
Messages
Total messages: 27 (6 generated)
changwan@chromium.org changed reviewers: + tedchoc@chromium.org
https://codereview.chromium.org/604243002/diff/1/content/public/android/java/... File content/public/android/java/res/layout-land/date_time_picker_dialog.xml (left): https://codereview.chromium.org/604243002/diff/1/content/public/android/java/... content/public/android/java/res/layout-land/date_time_picker_dialog.xml:12: android:orientation="horizontal" This used to be horizontal and you changed it to vertical. Was that intentional? (if it wasn't you might want to try a HorizontalScrollView) Also, do you have any idea why we can't have the layout files in the same location?
https://codereview.chromium.org/604243002/diff/1/content/public/android/java/... File content/public/android/java/res/layout-land/date_time_picker_dialog.xml (left): https://codereview.chromium.org/604243002/diff/1/content/public/android/java/... content/public/android/java/res/layout-land/date_time_picker_dialog.xml:12: android:orientation="horizontal" On 2014/09/26 16:26:51, Ted C (OOO till 10.1) wrote: > This used to be horizontal and you changed it to vertical. Was that > intentional? (if it wasn't you might want to try a HorizontalScrollView) > > Also, do you have any idea why we can't have the layout files in the same > location? My bad... Fixed now. Also changed gravity as well, and moved it under ui/. It's part of UI component resources, so I think it makes more sense to move it there. By the way, I realized that landscape/portrait is determined at the dialog launch time, and assigned resources cannot change on orientation change once it's shown. I've filed a separate bug (Bug 418835) so that it can be fixed with a separate release schedule.
Roping in more code reviewers as the main reviewer is OOO and we're targeting M38. (Please check b/17293049 for more).
changwan@chromium.org changed reviewers: + benm@chromium.org, miguelg@chromium.org, newt@chromium.org, yfriedmanc@chromium.org
This seems fine, though it's not at all clear how adding this ScrollView could fix a crash. Do you have a crash stack or an idea of how the lack of ScrollView could cause a crash? (Typically, the Android view system is very forgiving if a view overflows its parent. The view will simply be clipped. So I'm skeptical that this could cause a crash, though a crash stack could convince me otherwise.)
On 2014/09/30 00:38:42, newt wrote: > This seems fine, though it's not at all clear how adding this ScrollView could > fix a crash. Do you have a crash stack or an idea of how the lack of ScrollView > could cause a crash? > > (Typically, the Android view system is very forgiving if a view overflows its > parent. The view will simply be clipped. So I'm skeptical that this could cause > a crash, though a crash stack could convince me otherwise.) Please check my bug update. crsym does not give meaningful stack trace and the problem is not reproducible with this patch, so I suspect that it is an Android issue. Also, as you can see in the attached image on the crbug the time picker is not accessible, so this fixes usability issue as well.
lgtm, though I think it's worth further investigating the cause of the crash.
On 2014/09/30 01:11:33, newt wrote: > lgtm, though I think it's worth further investigating the cause of the crash. Did you try using src/third_party/android_platform/development/scripts/stack to symbolize the crash stack? (I'm not familiar with crsym)
On 2014/09/30 01:12:09, newt wrote: > On 2014/09/30 01:11:33, newt wrote: > > lgtm, though I think it's worth further investigating the cause of the crash. > > Did you try using src/third_party/android_platform/development/scripts/stack to > symbolize the crash stack? (I'm not familiar with crsym) I got the following result: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- r0 57599040 r1 00000a6b r2 41633d40 r3 588d30b0 r4 58612a2a r5 575912d0 r6 415479d8 r7 00002070 r8 4156a6c0 r9 41ef2ee8 sl 00000002 fp 00000000 ip 00000070 sp becd74f8 lr 415b9cb1 pc 4156c2d4 Stack Trace: RELADDR FUNCTION FILE:LINE 000222d4 <unknown> /system/lib/libdvm.so 00030f48 dvmMterpStd(Thread*)+76 /system/lib/libdvm.so 0002e5e0 dvmInterpret(Thread*, Method const*, JValue*)+184 /system/lib/libdvm.so 00063af9 dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392 /system/lib/libdvm.so 0006ba4b <unknown> /system/lib/libdvm.so 000299e0 <unknown> /system/lib/libdvm.so 00030f48 dvmMterpStd(Thread*)+76 /system/lib/libdvm.so 0002e5e0 dvmInterpret(Thread*, Method const*, JValue*)+184 /system/lib/libdvm.so 00063815 dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336 /system/lib/libdvm.so 0004cf17 <unknown> /system/lib/libdvm.so 0004e13f <unknown> /system/lib/libandroid_runtime.so 0004ee97 android::AndroidRuntime::start(char const*, char const*)+354 /system/lib/libandroid_runtime.so 0000109b <unknown> /system/bin/app_process 0000e5ab __libc_init+50 /system/lib/libc.so 00000db0 <unknown> /system/bin/app_process
On 2014/09/30 01:25:02, Changwan Ryu wrote: > On 2014/09/30 01:12:09, newt wrote: > > On 2014/09/30 01:11:33, newt wrote: > > > lgtm, though I think it's worth further investigating the cause of the > crash. > > > > Did you try using src/third_party/android_platform/development/scripts/stack > to > > symbolize the crash stack? (I'm not familiar with crsym) > > I got the following result: > > signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- > r0 57599040 r1 00000a6b r2 41633d40 r3 588d30b0 > r4 58612a2a r5 575912d0 r6 415479d8 r7 00002070 > r8 4156a6c0 r9 41ef2ee8 sl 00000002 fp 00000000 > ip 00000070 sp becd74f8 lr 415b9cb1 pc 4156c2d4 > > Stack Trace: > RELADDR FUNCTION > FILE:LINE > 000222d4 <unknown> > /system/lib/libdvm.so > 00030f48 dvmMterpStd(Thread*)+76 > /system/lib/libdvm.so > 0002e5e0 dvmInterpret(Thread*, Method const*, JValue*)+184 > /system/lib/libdvm.so > 00063af9 dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, > ClassObject*, bool)+392 /system/lib/libdvm.so > 0006ba4b <unknown> > /system/lib/libdvm.so > 000299e0 <unknown> > /system/lib/libdvm.so > 00030f48 dvmMterpStd(Thread*)+76 > /system/lib/libdvm.so > 0002e5e0 dvmInterpret(Thread*, Method const*, JValue*)+184 > /system/lib/libdvm.so > 00063815 dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, > std::__va_list)+336 /system/lib/libdvm.so > 0004cf17 <unknown> > /system/lib/libdvm.so > 0004e13f <unknown> > /system/lib/libandroid_runtime.so > 0004ee97 android::AndroidRuntime::start(char const*, char const*)+354 > /system/lib/libandroid_runtime.so > 0000109b <unknown> > /system/bin/app_process > 0000e5ab __libc_init+50 > /system/lib/libc.so > 00000db0 <unknown> > /system/bin/app_process I still need approval for content/public/. yfriedman@ / benm@, could you take a look?
changwan@chromium.org changed reviewers: + yfriedman@chromium.org - yfriedmanc@chromium.org
https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... File ui/android/java/res/layout-land/date_time_picker_dialog.xml (right): https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... ui/android/java/res/layout-land/date_time_picker_dialog.xml:9: <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" There's already a ./ui/android/java/res/layout/date_time_picker_dialog.xml which seems to match the content/ version. Should that be updated as well?
https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... File ui/android/java/res/layout-land/date_time_picker_dialog.xml (right): https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... ui/android/java/res/layout-land/date_time_picker_dialog.xml:9: <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" On 2014/09/30 17:29:23, Yaron wrote: > There's already a ./ui/android/java/res/layout/date_time_picker_dialog.xml which > seems to match the content/ version. Should that be updated as well? It's included in this cl. :) content resource is being updated and moved to ui.
lgtm https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... File ui/android/java/res/layout-land/date_time_picker_dialog.xml (right): https://codereview.chromium.org/604243002/diff/20001/ui/android/java/res/layo... ui/android/java/res/layout-land/date_time_picker_dialog.xml:9: <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" On 2014/09/30 19:26:16, Changwan Ryu wrote: > On 2014/09/30 17:29:23, Yaron wrote: > > There's already a ./ui/android/java/res/layout/date_time_picker_dialog.xml > which > > seems to match the content/ version. Should that be updated as well? > > It's included in this cl. :) content resource is being updated and moved to ui. :S
The CQ bit was checked by changwan@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/604243002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu_trigger...)
The CQ bit was checked by changwan@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/604243002/20001
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as b407058ef6253603112f7d4ee822b51acfef5480
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/43435213d9a2431bed1be8aec18dd8b7d452eadd Cr-Commit-Position: refs/heads/master@{#297514} |