• Home
  • History
  • Annotate
  • only in /frameworks/opt/setupwizard/library/main/src/
History log of /frameworks/opt/setupwizard/library/main/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
65128dc6219435ec82477235e117efdf94c75101 17-Apr-2017 Maurice Lam <yukl@google.com> Fix edge case for ItemGroup notify propagation

When removing the last item in a nested ItemGroup, make sure
getChildPosition returns the position of where the item would have
been so that the removal notification can be propagated properly.

Test: ./gradlew connectedAndroidTest test
Bug: 37361727
Change-Id: I50f5ceb50c2c7432056427a9d11a181dc384f4e7
om/android/setupwizardlib/items/ItemGroup.java
6fa591591a061850317676527d96b2dd7f65022a 11-Apr-2017 Maurice Lam <yukl@google.com> Match direct boot unaware receivers for Partner

In Partner.java, since we don't actually execute code in the package,
it is safe to match direct boot unaware receivers as well.

Test: ./gradlew connectedAndroidTest test
Bug: 36984206
Change-Id: I5ad017458db7d4af2d5a753a3f7663721291402e
(cherry picked from commit a3f1dc094f749e873f0c182691dca2d9e928736e)
om/android/setupwizardlib/util/Partner.java
7204767830ba57c641422aeb98a74be719a51e08 28-Mar-2017 Maurice Lam <yukl@google.com> Notify the correct position when removing the last item

Change ItemGroup#getChildPosition to return the position even for
empty childrem, so that when removing the last item in a nested
ItemGroup, the notification propagation will still be correct.

Test: ./gradlew connectedAndroidTest test
Bug: 36634677
Change-Id: I612e0c624dabee1bfaa6133fe976527e85523634
(cherry picked from commit 4dd5de226fefd5c2fdf040543157357f53ea932e)
om/android/setupwizardlib/items/ItemGroup.java
339cbc0f38d81adda4d2f9bf44a5514e2f027031 27-Mar-2017 Maurice Lam <yukl@google.com> Don't set null tint color on Lollipop

There is a bug in Lollipop framework where setting a null progress
tint will cause NPE when drawn.

Test: ./gradlew connectedAndroidTest
Change-Id: I0ba0aa8847f6ab2b0608f55c96814d383de67277
om/android/setupwizardlib/template/ProgressBarMixin.java
17e8d19de7fe82c0bc149265d787cfb40f227e81 25-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add ability to require scroll to GlifLayout"
b74aad867d3f354f38420ed88e2c9649e604bd5d 25-Mar-2017 Maurice Lam <yukl@google.com> Merge "Add getThemeRes to WizardManagerHelper"
0ceb8d53e39ebb5bc103863787afb39ec5c41ad8 18-Mar-2017 Maurice Lam <yukl@google.com> Add ability to require scroll to GlifLayout

Generalize RequireScrollHelper and turn it into a mixin to allow
GlifLayout to use require scrolling.
This is only applicable to GLIF with sticky footer, since inline
content button requires scrolling by definition.

Also added Robolectric test support for full-support, by moving
full-support/test's contents into full-support/test/instrumentation
and put the new Robolectric tests in full-support/test/robotest.

Bug: 36387078
Test: ./gradlew connectedAndroidTest test
Change-Id: Ib07ec0ddf07affa30c46e786f4e9be7853a243c4
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/GlifListLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/template/ListViewScrollHandlingDelegate.java
om/android/setupwizardlib/template/RequireScrollMixin.java
om/android/setupwizardlib/template/ScrollViewScrollHandlingDelegate.java
om/android/setupwizardlib/util/AbstractRequireScrollHelper.java
om/android/setupwizardlib/util/ListViewRequireScrollHelper.java
om/android/setupwizardlib/util/RequireScrollHelper.java
om/android/setupwizardlib/view/NavigationBar.java
e749c2c1f2f664d2798ea9c482375f33f5371bf0 24-Mar-2017 Maurice Lam <yukl@google.com> Add getThemeRes to WizardManagerHelper

Add helper method to get the base theme defined by setup wizard. This
is intended for use by clients who doesn't require extra theme
attributes in their activities (i.e. use @style/SuwThemeGlif directly
rather than extending it).

Test: ./gradlew test
Change-Id: I22872d918c346bd7adffe4be909d73fae23f44dc
om/android/setupwizardlib/util/WizardManagerHelper.java
ee2a6a670db446954ee9d532a4a9c565164539ec 21-Mar-2017 Maurice Lam <yukl@google.com> Implement ExpandableSwitchItem

Implement the switch item that is expandable when the text label is
tapped.

Bug: 36388000
Test: ./gradlew connectedAndroidTest test
Change-Id: Ic476164f5abebe1e879b0ee3a8c2e429e1b74372
om/android/setupwizardlib/view/CheckableLinearLayout.java
ab45bdf67a01ba13efb45334cc43f9632de6f034 26-Feb-2016 Maurice Lam <yukl@google.com> Support RecyclerView notifications in items

Propagate the recycler view notifications
notifyItem{Changed/Removed/Inserted} in ItemHierarchy so that
recycler view animations can be used with ItemHierarchy more
easily.

Test: ./gradlew connectedAndroidTest test
Bug: 36388000
Change-Id: I583952044995b174baec2610422611f6d40a9a11
om/android/setupwizardlib/items/AbstractItem.java
om/android/setupwizardlib/items/AbstractItemHierarchy.java
om/android/setupwizardlib/items/Item.java
om/android/setupwizardlib/items/ItemAdapter.java
om/android/setupwizardlib/items/ItemGroup.java
om/android/setupwizardlib/items/ItemHierarchy.java
53f9de0cc4b08886f1636cde9db67728ae9464f2 16-Mar-2017 Maurice Lam <yukl@google.com> Propagate EXTRA_THEME in WizardManagerHelper

The theme should be copied as a wizard manager extra.

Test: ./gradlew connectedAndroidTest test
Change-Id: I5750146fadc3f3d5365418f0076086e631a3598b
om/android/setupwizardlib/util/WizardManagerHelper.java
d4454f4582e023f7e274b4545dea6ab8d001a1ce 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add suwFooter attribute to GlifLayout"
48c121912f865be865e564a4d0a899988a100d37 07-Mar-2017 Maurice Lam <yukl@google.com> Add suwFooter attribute to GlifLayout

Add the suwFooter attribute so custom footer layouts can be easily
added, in conjunction with <aapt:attr> tag.

Test: ./gradlew connectedAndroidTest test
Bug: 36009807
Change-Id: Id7d937486451e34bdc30775a0f5f3dfcde47598f
om/android/setupwizardlib/GlifLayout.java
9ac3d54040b4dae6addc224fd8a69bf62ee84a83 06-Mar-2017 Maurice Lam <yukl@google.com> Fix warnings in SuwLib

Fix various issues flagged by compiler and ErrorProne, including
raw types, unchecked casts, missing overrides and others.

Test: Existing tests pass. `./gradlew connectedAndroidTest test`
Change-Id: I4008504430760b436d6dc6c52a9dfb169dcfa49b
om/android/setupwizardlib/items/Item.java
om/android/setupwizardlib/items/ReflectionInflater.java
om/android/setupwizardlib/template/Mixin.java
39056e5dc4b068745c2d9be69e5cd0c008bdc117 03-Mar-2017 Maurice Lam <yukl@google.com> Make status bar white on GLIF pixel theme

Add attributes suwBackgroundBaseColor and suwBackgroundPatterned to
GlifLayout, which allows the GLIF Pixel theme to display a solid
off-white status bar background instead of the pattern in regular
GLIF.

Test: ./gradlew connectedAndroidTest test
Bug: 35446596
Change-Id: Icbf3608882367ce00188fd124df5d2ba0de00864
om/android/setupwizardlib/GlifLayout.java
d3ffc713be68823409d5dc6d2d44bb21bde5bfd0 28-Feb-2017 Maurice Lam <yukl@google.com> Add center alignment for 2017 themes

Add "GLIF Pixel" theme that is a drop-in replacement for
SuwThemeGlif, which will center align the header and description
text.

To use GLIF Pixel theme, simply set the activity theme (using
android:theme or Activity#setTheme) to SuwThemeGlifPixel and use the
GLIF layouts normally.

Other theme attributes like status bar background will be done in a
separate CL.

Test: ./gradlew connectedAndroidTest test
Bug: 35446596
Change-Id: I3edee9cf80c1c84018ed08f47f9859e51a3936e6
om/android/setupwizardlib/util/FallbackThemeWrapper.java
om/android/setupwizardlib/util/WizardManagerHelper.java
fca3ee628d9d5c1c1109f3df6e02cdd31c57c000 22-Feb-2017 Maurice Lam <yukl@google.com> Fix GLIF pattern for versions < L

For versions < L, setGlifPatternColor should still change the
background drawable, since they are visible on tablets.

Replaced the v21 specific attrs with attribute references in the
themes, removing the need for a separate version attrs.xml.

Moved GlifLayoutTest that doesn't require test XMLs to Robolectric,
so make SDK version testing easier. Robolectric on gradle doesn't
seem to have a good way to include test XMLs, so tests for XML
inflation are kept as instrumentation tests.

Test: ./gradlew connectedAndroidTest test
Change-Id: I36b3765848e462ee920c563a6fa335a0e67dd471
om/android/setupwizardlib/GlifLayout.java
db0a8d653fb37519e10134470201f8e30bdb2c75 21-Feb-2017 Maurice Lam <yukl@google.com> Merge "Implement ButtonFooterMixin"
8721e6e37afdda2d3aba487334f96e270a57ad19 10-Feb-2017 Maurice Lam <yukl@google.com> Implement ButtonFooterMixin

The ButtonFooterMixin allows creating GLIF-compatible sticky footer
with buttons. The mixin assumes that buttons on the start side
(left for LTR) are borderless buttons and buttons on the end side
(right for LTR) are accent colored raised buttons.

Bug: 35448201
Test: ./gradlew connectedAndroidTest test
Change-Id: I26fc1a19290308f8d39466652308366e9677afbd
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/template/ButtonFooterMixin.java
9e8d18dc62c8a933a16f83a03ebab080897fd38e 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add theme fallback"
e2a8d27c2a43cf0b48b80e5b05f893222c541e04 17-Feb-2017 Maurice Lam <yukl@google.com> Add theme fallback

- Add FallbackThemeWrapper, which behaves like ContextThemeWrapper,
except that the base context's theme attributes takes precedence
over the wrapper context's.
- Use the FallbackThemeWrapper in TemplateLayout (SetupWizardLayout
and GlifLayout), so that inflating them with the wrong theme will
not crash, but rather look wrong.

This allows SuwLib to add required attributes without risking
crashing clients that for some reason doesn't use the right themes.

Test: ./gradlew connectedAndroidTest
Change-Id: I694ad7279ce733659f6aa5d72e2087a09d3f1e22
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/TemplateLayout.java
om/android/setupwizardlib/util/FallbackThemeWrapper.java
2831318df83781bb5bada256e35726612d225052 14-Feb-2017 Maurice Lam <yukl@google.com> Fix ButtonItem theme in appcompat

Inflate the button from XML rather than calling the constructor
directly, so that AppCompatActivity can use the injected layout
inflater to tint the button drawables.

- Migrated existing ButtonItemTest to robolectric
- Added new ButtonItemDrawingTest as instrumentation test to test
the drawing behavior. Created DrawingTestHelper and
DrawingTestActivity to help in testing draw behaviors in normal and
AppCompat contexts.

Bug: 35325693
Test: ./gradlew connectedAndroidTest
Change-Id: Ic2215f5510c246a861ab109e3dffee49f9cf9b3c
om/android/setupwizardlib/items/ButtonItem.java
d349adb3941c88ae27ec451acd19641ba03205df 26-Jan-2017 Maurice Lam <yukl@google.com> Add ListMixin

Add ListMixin to allow common interface to a TemplateLayout containing
lists.

Test: ./gradlew connectedAndroidTest
Change-Id: I6ebd2c5a83b14db534cf66e5de7fe12584441537
om/android/setupwizardlib/GlifListLayout.java
om/android/setupwizardlib/SetupWizardItemsLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/items/Item.java
om/android/setupwizardlib/template/ListMixin.java
9c9d16cc343712aea864efc9b5f78942f76395b8 18-Jan-2017 Maurice Lam <yukl@google.com> Merge "Turn off DEBUG for SimpleInflater"
94b2ec08a88831548dcd811b016f953ca6f64ed5 18-Jan-2017 Maurice Lam <yukl@google.com> Merge "Remove material_blue constants"
d33fc41d66b7f2435bee7981613c62317d3a21fc 18-Jan-2017 Maurice Lam <yukl@google.com> Turn off DEBUG for SimpleInflater

Test: Existing tests pass
Change-Id: I71502f10a7883d0708c3f10a064e1f8cb5520ac9
om/android/setupwizardlib/items/SimpleInflater.java
5ed761c1df4f5165a14218b64579e14af29d68a6 13-Jan-2017 Maurice Lam <yukl@google.com> Fix ReflectionInflater

Don't append default package when the tag name itself is qualified
(i.e. contains a '.').

Also moved the inflater test cases into test/instrumentation to the
same place as other instrumentation tests. (Other tests were moved
with the introduction of Robolectric tests)

Bug: 34254689
Test: ./gradlew connectedAndroidTest
Change-Id: I2f22613f80b4e3a65a73c4a4f8bd084ad3d4654f
om/android/setupwizardlib/items/ReflectionInflater.java
ae6590148b2af0848e8d8be391b840a4c19109ef 12-Jan-2017 Maurice Lam <yukl@google.com> Remove material_blue constants

Those constants were never released and there are no references to
it on code search.

Test: Existing tests pass (./gradlew connectedAndroidTest)
Change-Id: I231a719414e436dc4204302d6211da8923282fa7
om/android/setupwizardlib/util/WizardManagerHelper.java
c64c94744da6d3d139c24be7dd62cbb3ceae0eb5 06-Jan-2017 Maurice Lam <yukl@google.com> Refactor GenericInflater

Split GenericInflater into SimpleInflater, which wraps the XML parsing
into finding the tag name and an AttributeSet. The subclass is
responsible for creating the corresponding object for the given tag
name and AttributeSet.
ReflectionInflater is a subclass of SimpleInflater which will treat
the tag name as a class, and create the object via reflection using
the 2-argument constructor TagName(Context, AttributeSet).

Test: ./gradlew connectedAndroidTest
Change-Id: I81408f099f132b7bedb27a9b5425e3c18988aa52
om/android/setupwizardlib/items/GenericInflater.java
om/android/setupwizardlib/items/ItemInflater.java
om/android/setupwizardlib/items/ReflectionInflater.java
om/android/setupwizardlib/items/SimpleInflater.java
7514f1cee29b3feb4822ce16945c1c312057d24f 19-Dec-2016 Maurice Lam <yukl@google.com> Implement Mixins for Templates

Implement Mixin functionalities, which defines part of a template
layout, making it reusable in different layouts. For example, the
HeaderMixin allows setting and getting the header text via the mixin,
which allows for clients which uses multiple different layuots to
simplify their code via something like
layout.getMixin(HeaderMixin.class).setText("Foobar");

Bug: 34163318
Test: ./gradlew connectedAndroidTest
Change-Id: I4348c8bb5b8e640b49c2be0c79c70aa85cf0ebc0
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/TemplateLayout.java
om/android/setupwizardlib/template/ColoredHeaderMixin.java
om/android/setupwizardlib/template/HeaderMixin.java
om/android/setupwizardlib/template/IconMixin.java
om/android/setupwizardlib/template/Mixin.java
om/android/setupwizardlib/template/NavigationBarMixin.java
om/android/setupwizardlib/template/ProgressBarMixin.java
0d745a6f71e147fac73e026a999cb8685e67110c 13-Dec-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Remove copied annotation classes"
63cdc5ccb7f1f61d0e752e38d7e57c690658a0ac 23-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Turn on fatal lint

Fix (or suppress) lint warnings and make it fatal again in the build
process.
Additionally, warnings are treated as errors now. If there are
warnings that are not applicable, add @SuppressLint or tools:ignore
to suppress the warning, so code reviewers can be aware of the lint
issue too.

Test: ./gradlew lint
Change-Id: I63c83ff1b95a0817dc2ac777adce0fa9f9ebd45a
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/util/DrawableLayoutDirectionHelper.java
903f83af5ba54075275b455a24c4273143fcb86a 07-Dec-2016 Maurice Lam <yukl@google.com> [SuwLib] Remove copied annotation classes

Use support-annotation instead.

Test: Existing tests pass (./gradlew connectedAndroidTest)
Change-Id: I9ef63db551e713f1ee26e7563da86b379d84c811
om/android/setupwizardlib/GlifPatternDrawable.java
om/android/setupwizardlib/TemplateLayout.java
om/android/setupwizardlib/annotations/Keep.java
om/android/setupwizardlib/annotations/VisibleForTesting.java
om/android/setupwizardlib/util/Partner.java
om/android/setupwizardlib/view/BottomScrollView.java
07e92e75c51c9ea8c029abe679f16511522f2e25 02-Dec-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Add support annotations"
3ab5f2f3d5c518e372d4a1127be180b5b57af7ec 01-Dec-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Remove unused import"
4482fde98ebad2700ec1f8de5397abb90402b8b8 23-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Add support annotations

Add support annotations dependency, and add the annotations in where
suitable.

Test: Manual. "Inspect code" in Android studio no longer shows
nullability errors. Existing automated tests pass
Bug: 21559567
Change-Id: I47b1072c9b2a9e032318df49db6b86b6af8d206e
om/android/setupwizardlib/GlifPatternDrawable.java
om/android/setupwizardlib/view/NavigationBar.java
6e0e22635d5fa943f72251e534f37527d3b3468c 29-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Return PixelFormat in GlifPatternDrawable.getOpacity

getOpacity should return the pixel format. This change should not
have any visible effects, as PixelFormat.UNKNOWN = 0.

Test: Existing tests pass
Change-Id: I332d7cbe7c90f9a50b8171cd8e7ed3e09a0765a2
om/android/setupwizardlib/GlifPatternDrawable.java
bba98a213159427abfe33a45733b94f61c8d23f1 29-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Remove unused import

Test: Existing test pass
Change-Id: I59454c02ab64ee9c6e3351c2d04050539eb05c8d
om/android/setupwizardlib/util/SystemBarHelper.java
e0275b558e533bd0665b87e2e78267801c2472cd 16-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Fix SDK version check for isUserSetupComplete

The system setting was introduced in JB MR1.

Test: ./gradlew connectedAndroidTest
Change-Id: I70b72981cf71eb39064048a80f6669c63b626070
om/android/setupwizardlib/util/WizardManagerHelper.java
a6d30093e9308a88fc875b484cf16cda385c2f98 04-Nov-2016 Maurice Lam <yukl@google.com> [SuwLib] Replace colorPrimary with custom attribute

Replace android:colorPrimary with suwColorPrimary because the former
is only available on API 21 or above.

Test: ./gradlew connectedAndroidTest
Bug: 32405650
Change-Id: I57bb2b87771a5169004fca310b6284de88fb2f14
om/android/setupwizardlib/GlifLayout.java
bc89919a0287256bf8255e8013c1c7c2ccf49f58 25-Oct-2016 Ajay Nadathur <ajayns@google.com> [SetupWizard] GLIF determinate progress bar should have blue background

Test: Manually tested and verified blue background present. Also added
unit test
bug: 32148755
Change-Id: I0e2e9e346ed6952bdcbae6e7bcc3eeab552ab262
om/android/setupwizardlib/GlifLayout.java
515c0b156d03f7ea348303c75e37ee4c16d90557 12-Aug-2016 Maurice Lam <yukl@google.com> Share GlifPatternDrawable bitmap cache

Reduce memory usage of GlifPatternDrawable by
- Setting max bitmap cache scale to 1.5x (similar to
VectorDrawableCompat, which caps at 2048px)
- Use ALPHA_8 mask instead of ARGB8888
- Share the cache across all pattern drawables, using a SoftReference

The memory allocation of a single bitmap cache, measured on Pixel C,
dropped from 17MB to 2.3MB.

Memory consumption was measured in Android studio.
1. Open SetupLibrarySample app in Android Studio
2. Run app
3. Open "Android Monitor" tab, and go to Monitors tab
4. Press "Trigger GC" in Studio
5. Press "Start Allocation Tracking"
6. Start a new activity in the test app
7. press "Stop Allocation Tracking"

Test: ./gradlew connectedAndroidTest
Bug: 30813561
Change-Id: Ic78d6f2bdfa6a18a7dd2afc73f9647e2a7ed4cf1
om/android/setupwizardlib/GlifPatternDrawable.java
05acfbb2e7c7f2c992b530b98f8a9333ec6b17f0 30-Jul-2016 Ajay Nadathur <ajayns@google.com> [SetupWizard] Set id of ButtonItems.

bug:30511478
Change-Id: Ia7366dcee93ae1c8223990cab2e3f431fdc4418e
om/android/setupwizardlib/items/AbstractItemHierarchy.java
om/android/setupwizardlib/items/ButtonItem.java
2c42b3f95a9319fc36f1dea5e775e2fab13a0a25 16-Jun-2016 Maurice Lam <yukl@google.com> [SuwLib] Position card correctly when keyboard is up

When the keyboard is shown in the tablet layout, position the card
correctly by using linear layout with 2 invisible weighted views.

Bug: 29420837
Change-Id: I85008800f16a4a8c6b7b2f8f78d702ac5674434a
om/android/setupwizardlib/view/IntrinsicSizeFrameLayout.java
d66273847cb8cb69513db37e26e6ab0ee0590cc3 22-Jun-2016 Maurice Lam <yukl@google.com> [SuwLib] Null check if progress bar is not in template

Bug: 28848765
Change-Id: If447167cb0bb3d112d797389d0f8d790b02e3557
om/android/setupwizardlib/GlifLayout.java
b6fb8bb15f4c6b08eb7f875c21df1005a8679594 10-Jun-2016 Maurice Lam <yukl@google.com> [SuwLib] Allow peeking progress bar

Add GlifLayout.peekProgressBar that will get the progress bar from
the view if it is already installed.

Bug: 28848765
Change-Id: Ica686f843013007a7abe6b1d67e26de14b95ec75
om/android/setupwizardlib/GlifLayout.java
a8e0755e1b526174fe42b0d7215d3c6a6106aca2 21-May-2016 Maurice Lam <yukl@google.com> [SuwLib] Remove button from parent after createButton

Since the button for a ButtonItem is reused, it may be moved to a
different view parent after re-binding. In order to make sure the move
is successful, the button must be first removed from the current parent
before returning.

Bug: 28317915
Change-Id: Ice2a7d1a5f33870775dfd26c1bff816de70526e9
om/android/setupwizardlib/items/ButtonItem.java
081551e44a801f439f0e0f30008303dd765c118f 03-May-2016 Maurice Lam <yukl@google.com> [SuwLib] GLIF pattern update

Implement GLIF pattern according to latest UX spec, which is to
overlay a grayscale pattern at 20% opacity on top of the solid accent
color.

Bug: 28601978
Change-Id: I89f54a434d54e1cac64363588fd06736d67c51e1
om/android/setupwizardlib/GlifPatternDrawable.java
7f2a6e95f20408e055bb8b965b9e2bc664eec86b 28-Apr-2016 Maurice Lam <yukl@google.com> [SuwLib] Check instance state type before casting

Bug: 28390168
Change-Id: Ic8cb9c35b29fe05f1edc6c8fa7c0bd7d23cd4fdf
om/android/setupwizardlib/SetupWizardLayout.java
84979a6b2874d09762404c3c8a902f4aad016d01 26-Apr-2016 Maurice Lam <yukl@google.com> [SuwLib] Support GLIF preference

Bug: 26427729
Change-Id: Ie95b0031bacef316ccff9bc9f1a4b048016a9353
om/android/setupwizardlib/GlifLayout.java
10e37de3e93691ec7600cb25ccca6b50841a4460 14-Apr-2016 Jeff Davidson <jpd@google.com> Copy IS_FIRST_RUN extra in copyWizardManagerExtras.

Bug: 27822363
Change-Id: I915be45c13df95cc3c8de9cde63d5e83909c2e03
om/android/setupwizardlib/util/WizardManagerHelper.java
de9f081976b6121f93b6debca4554226c125e12f 08-Apr-2016 Maurice Lam <yukl@google.com> [SuwLib] Fix override annotations

Add @Override annotations where there should be

Change-Id: I57e33c9367bbc716c120b410ce96b43b4d0f8bbb
om/android/setupwizardlib/items/ItemInflater.java
f7ac91e934941cc7a796337aba8ac4e5c198c22e 06-Apr-2016 Steven Ng <stevenckng@google.com> [SetupWizard] Move consecutive taps detector to setupwizardlib

bug:27064348
Change-Id: I1051c0f9f224a7698fcb32a863aca94e4a571c64
om/android/setupwizardlib/gesture/ConsecutiveTapsGestureDetector.java
ccdce77ebc3a173c5cbe59abc4ba6dda9567a432 01-Apr-2016 Maurice Lam <yukl@google.com> [SuwLib] Remove recycled icon

Remove recycled icon before setting the state and level, so it will
not unintentionally change some other drawable's state and level.

Bug: 27944413
Change-Id: Id98096638781b207234794e9e2296c0463a51daf
om/android/setupwizardlib/items/Item.java
e1798444aa7e8bd6c81c5013c03bccb581d7f591 31-Mar-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Upstream LinkSpan and AnnotatedTextView" into ub-setupwizard-belgarath
00358e4d12e6c7ba0f1da1fa9ad57f87da9b3b1a 25-Mar-2016 Maurice Lam <yukl@google.com> [SuwLib] Implement ButtonBarItem

Implement ButtonBarItem which can contain one or more buttons to be
displayed in a horizontal row.

Bug: 27600894
Change-Id: Id3879ee8fc0bd09c04bc8d98a0bbd301d1b410b8
om/android/setupwizardlib/items/ButtonBarItem.java
om/android/setupwizardlib/items/ButtonItem.java
om/android/setupwizardlib/items/ItemGroup.java
om/android/setupwizardlib/items/ItemInflater.java
d832154e333a3a45b5faecd518b664ddd297183c 25-Feb-2016 Maurice Lam <yukl@google.com> [SuwLib] Upstream LinkSpan and AnnotatedTextView

Upstream LinkSpan and AnnotatedTextView to easily create
accessibility-friendly rich text TextViews with links.

Bug: 27886391
Change-Id: I20137fb454c4b9d820263c8ce326380c1db2ef20
om/android/setupwizardlib/span/LinkSpan.java
om/android/setupwizardlib/span/SpanHelper.java
2def2bf2156581c6bde6d6baa4583ccd97f2f670 25-Mar-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Cache GlifPatternDrawable in Bitmap" into ub-setupwizard-belgarath
8d8efd86c72cdecefb133bd3bc3ee676233d2f2e 25-Mar-2016 Maurice Lam <yukl@google.com> Merge "[SuwLib] Catch RuntimeException during template inflation" into ub-setupwizard-belgarath
3aee7b9de403e669e24ce68da1b390ab74288364 25-Mar-2016 Maurice Lam <yukl@google.com> [SuwLib] Catch RuntimeException during template inflation

On platform versions < M, RuntimeException is thrown when an
attribute is not found. This is changed to InflateException since M.
Catch the more generic RuntimeException so we will show the more
helpful error message on previous versions as well.

Bug: 27153117
Change-Id: I6367f2f2c6adfaab0c3dc1297249d08225c99d9c
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
a2f04916533b900d3661c9e8c9d98b71276fde13 24-Mar-2016 Maurice Lam <yukl@google.com> [SuwLib] Cache GlifPatternDrawable in Bitmap

Avoid rendering the path every time by caching the GlifPatternDrawable
on a Bitmap.

Bug: 27821812
Change-Id: I8eefcf662763ec05d11b53a0a02e3f39764075ae
om/android/setupwizardlib/GlifPatternDrawable.java
8d5326358e2f2a48847b65223c21071647c0f7e5 24-Mar-2016 Maurice Lam <yukl@google.com> [SuwLib] Request apply window inset when attached

Bug: 25973134
Change-Id: Icaddf416e386624e9d8d4b06072a650e266ee9d6
om/android/setupwizardlib/view/StatusBarBackgroundLayout.java
99586481628659cd2982a0248bc0d09a6ec4590e 18-Mar-2016 Maurice Lam <yukl@google.com> [SuwLib] Improve wrong theme error message

Improve the error message in SetupWizardLayout and GlifLayout to
mention the correct themes when there is an InflateException.

Bug: 27153117
Change-Id: I0b76713b820fd26fd2c8808819887e360c3e87a3
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/SetupWizardLayout.java
8e2e803f9d5a0c99ade0ee21749b4184bc888d18 17-Mar-2016 Maurice Lam <yukl@google.com> [SetupWizard] Fix override annotation

Change-Id: I6d730523fcee0ff40b796ff5cc9d6fea32c29997
om/android/setupwizardlib/SetupWizardListLayout.java
6cd984308b537924865bde77c2ee13d072cd9a48 10-Mar-2016 Udam Saini <udam@google.com> Exposes a way to get the header view.

This is needed inside settings to find the header view.

bug:27591940
Change-Id: I49d3c84583faacb4a42b3321e57d2e3b025a38f0
om/android/setupwizardlib/SetupWizardLayout.java
f5b558b34cd2b1e05e85c4fd124e62e71a7151d8 22-Feb-2016 Udam Saini <udam@google.com> Offsets IME input including navigation bar.

bug:27063940
Change-Id: I55897640ff607176231492d2d9e0f218a8ee24ae
om/android/setupwizardlib/util/SystemBarHelper.java
bf4afac02228e42af171bbb5f3db11977be487b1 20-Feb-2016 Maurice Lam <yukl@google.com> [SuwLib] Allow setting progress bar color

Bug: 26458108
Change-Id: Icf736a0ce9f615efc0ab1dfecac17d01358ead92
om/android/setupwizardlib/SetupWizardLayout.java
ec9d8c8aa8fdeb6640fb0037b062bf10ca1c016b 09-Feb-2016 Maurice Lam <yukl@google.com> [SuwLib] Fix showProgressBar for RecyclerLayout

Fix show and hide progress bar for RecyclerLayout by introducing
findManagedViewById method in SetupWizardLayout, so that it can
find progress bar even if it is not currently laid out in the view
hierarchy.

Also added setProgressBarShown(boolean) to make the interface
consistent with GlifLayout.

Change-Id: Icc44d91e2d6030b210304ad81c158be67b7050f1
om/android/setupwizardlib/SetupWizardLayout.java
15391fc05a0fc45e9af85b653abffa41df575e91 06-Feb-2016 Maurice Lam <yukl@google.com> [SuwLib] Add divider insets

Allow SetupWizardListLayout and SetupWizardRecyclerLayout to have
divider insets.

Change-Id: I879469b15692e86d24336b13a8ee9d1a796bb036
om/android/setupwizardlib/GlifListLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
0e9b312956dd28cef21473337800919eb0a54b2d 28-Jan-2016 Maurice Lam <yukl@google.com> [SuwLib] Add sticky header to recycler view

Change-Id: Ib06ab550c16471fbdae3c348f9c91dd42893a138
om/android/setupwizardlib/SetupWizardLayout.java
7bc6f176937ed369b180fa89f6c311d2801f206c 23-Jan-2016 Maurice Lam <yukl@google.com> [SuwLib] Allow requiring scroll in lists

Add ListViewRequireScrollHelper and RecyclerViewRequireScrollHelper
that will require scrolling in those layouts. SetupWizardListLayout
and SetupWizardRecyclerItemsLayout are now wired properly with the
requireScrollToBottom() method to require scrolling.

Change-Id: I1086fe02374bfbbeb1ac3f8c4ca6981f3ced0df9
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/util/AbstractRequireScrollHelper.java
om/android/setupwizardlib/util/ListViewRequireScrollHelper.java
om/android/setupwizardlib/util/RequireScrollHelper.java
ac40f3676511e1c7c09a948f5cb8481e5ea12d57 21-Jan-2016 Maurice Lam <yukl@google.com> [SetupWizard] Add GlifLayout.setPrimaryColor

Bug: 26458108
Change-Id: Ia7be66fcf1efd60e65a759006f72b3a0589d0401
om/android/setupwizardlib/GlifLayout.java
d6708911f6f2fa7dd060536a118b5efb3c5e174f 22-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] Add dark GLIF theme (placeholder)

Add placeholder for dark GLIF theme, which is an extension of the
dark system themes with same overlay values as the light variant.
The color values of the overlays will be updated as necessary.

Change-Id: If7aa2e4b849c26300d4d8ab606be7b74cc33620f
(cherry picked from commit 0c0f30d332afd782dd107ef11f7fa76fb2fdd165)
om/android/setupwizardlib/util/WizardManagerHelper.java
38a3832bf55aeb5dc24904d4d1ddf391dffa7d7b 19-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] Add preference integration support

Change-Id: I2e756bcea1512886958ec70c80ae6f4616c9ed81
om/android/setupwizardlib/util/DrawableLayoutDirectionHelper.java
575ec4f0150a3607d0b6902a9b52866c170822f9 14-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] Allow setting visibility of items

Added setVisible and android:visible to Item so that it will be
hidden if not visible.

Change-Id: If8d2e3ec95c2f1aaffe8991c283f5c474e1f459a
om/android/setupwizardlib/items/Item.java
0a51b2852ce9940075774191dce7b81ce91eb4a1 11-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] Add progress bars to GLIF layouts

Change-Id: I5a32cabcc1d89cfb978fbceb3d3f4811bccaea92
om/android/setupwizardlib/GlifLayout.java
52c54556297ace8d0fc789cc74ffed0b4b39ce4b 10-Dec-2015 Maurice Lam <yukl@google.com> Merge "[SuwLib] Implement pattern drawable background"
2150682fc7e01197f05833e1314e426e5ffd7b94 10-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] Allow setting view IDs for items

Add getViewId method for Items which will be assigned to the view ID.
This helps especially in testing, for UiAutomator to find the views
needed for the tests.

Change-Id: Ie88fbffc357eca9303d37830ace44511e5d81aa7
om/android/setupwizardlib/items/Item.java
c3eebe9f664af4b77e5948a14bf266b25dc25cc8 14-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Implement pattern drawable background

- Implement the pattern background for GLIF using a custom drawable.
The drawable draws the paths manually as specified in the SVG, for
backwards compatibility.
- Use a FrameLayout subclass to draw the custom status bar background
in the case of phone layouts, and set draw the background directly
for tablet / clamshell layouts.

Bug: 25650709
Change-Id: I527bb47efa143ec43c1030b57087fd2414d7045b
om/android/setupwizardlib/GlifLayout.java
om/android/setupwizardlib/GlifPatternDrawable.java
om/android/setupwizardlib/view/StatusBarBackgroundLayout.java
5a4d6cdfb63240c41527ba80b7baddba8933d770 04-Dec-2015 Maurice Lam <yukl@google.com> [SuwLib] GLIF layout adjustment for headers

- Store the list item directly in the view holder and update in
onBindViewHolder, so that the click handler is not prone to adapter
position changes.
- Glif[List/Recycler]Layout now returns the wrapped adapter when
getAdapter is called.
- Disable dividers for header views

Change-Id: Ie782a4de06e2296d4996cb8b81b5d7d3fc834ccf
om/android/setupwizardlib/GlifListLayout.java
0c0a00a3fbf90e5c80fd67dc002b6a680b7744ac 30-Nov-2015 Udam Saini <udam@google.com> [SetupWizard] Makes headers unselectable

bug:25863140
Change-Id: I95bf3abd8050d316b831bc5fec15a864393b051a
om/android/setupwizardlib/view/StickyHeaderListView.java
180360409c9e4e9163c670ff48663244b4057eaf 14-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Add dividers to GLIF list layouts

Add dividers with inset support to GLIF list and recycler layouts.
Typical usage of this will be by specifying app:suwDividerInset to
either @dimen/suw_items_text_divider_inset or
@dimen/suw_items_icon_divider_inset (the default).

Bug: 25726515
Change-Id: I8f569680d71d1baba093b20f3d48570d53383acb
om/android/setupwizardlib/GlifListLayout.java
om/android/setupwizardlib/util/DrawableLayoutDirectionHelper.java
b01f3ef075d501d1f61e6f61794a5cadd3ff2026 21-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Implement GlifRecyclerLayout

Bug: 25726515
Change-Id: Ibb60af51928bb5fc828761c55430cc8d31fe5c98
om/android/setupwizardlib/GlifLayout.java
e15b8a2489610e3a6fe0a5bc2e26625b067631e0 20-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Implement GlifListLayout

Bug: 25726515
Change-Id: I192f33635e9919c02adfdb2c9afa1652dd84aab2
om/android/setupwizardlib/GlifListLayout.java
fce4cf6161b2a1644ad21034f0afe4087d659ab4 19-Nov-2015 Maurice Lam <yukl@google.com> [SetupWizard] Implement GlifLayout

Bug: 25726515
Change-Id: Ib4ba64e648e52a9859fb6509a9ce41c692a20aa2
om/android/setupwizardlib/GlifLayout.java
35cc29c9f307191962cd7124db14eb7b78c9407e 17-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Add GLIF theme

Add a GLIF theme declaration to setup wizard library, which is just
a direct copy of SuwThemeMaterial.Light for now, and will be updated
as more of the new visual design is implemented.

Bug: 25726515
Change-Id: I3f55662192c05012b9a93d77f7b1303f4a792fe5
om/android/setupwizardlib/util/WizardManagerHelper.java
b29488505be15c3982283662f903cec53320b72f 16-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Deprecate material blue themes

GMS core is still holding a reference to the material blue themes
that will be tricky to remove. Deprecate the constants for now.

Change-Id: Icbc30cd5e8d8aad78008b6cf37fcf3db723c2c50
om/android/setupwizardlib/util/WizardManagerHelper.java
229aa7c82e77ee36543df0ce6035a61ab2418152 12-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Remove sendActionResults

Remove sendActionResults since it cannot be used properly with
startActivityForResult, which is the recommended way to start the
NEXT action.

Change-Id: Iae00af85b8725119accf343ad1556818e97d4bb3
om/android/setupwizardlib/util/WizardManagerHelper.java
c3a4e07feacd7e9cff6d0fc6ddbe86c90d6f7087 12-Nov-2015 Maurice Lam <yukl@google.com> [SuwLib] Add isLightTheme for strings

Add isLightTheme method to be able to directly tell whether a string
represents a light or dark theme.

Change-Id: Ib49cdcbb9047e235189a451b42f20b5cba5eb42a
om/android/setupwizardlib/util/WizardManagerHelper.java
6ab34e2e3bffde2f51505f3d2189a14fdb6958be 22-Oct-2015 Maurice Lam <yukl@google.com> Merge "[SuwLib] Add nested items support"
960c0ea0b1d36904beef0f01715dd43a211e88ca 09-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Add nested items support

Add nested items support to items framework, which allows ItemGroups
to be placed inside another ItemGroup. Handling of children elements
are at discretion of the parent, but for the case of ItemGroup it
will provide a flattened view of the items.

Change-Id: I17bfd8ee276bf47d388873e68e67324c755425b3
om/android/setupwizardlib/SetupWizardItemsLayout.java
om/android/setupwizardlib/items/AbstractItem.java
om/android/setupwizardlib/items/AbstractItemHierarchy.java
om/android/setupwizardlib/items/GenericInflater.java
om/android/setupwizardlib/items/IItem.java
om/android/setupwizardlib/items/Item.java
om/android/setupwizardlib/items/ItemAdapter.java
om/android/setupwizardlib/items/ItemGroup.java
om/android/setupwizardlib/items/ItemHierarchy.java
om/android/setupwizardlib/items/ItemInflater.java
9b7afd94fe215cb00b6a9ce035b2c323e3c7c96f 16-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Fix lint errors

The log tags were too long and lint was complaining, breaking the build
on ub-setupwizard-master. Removing the logs. Also completed javadocs
for sendActionResults.

Change-Id: Icdacd6257f0812888172eec0e2d446437f6cd205
om/android/setupwizardlib/util/WizardManagerHelper.java
86eeff4257ff263a7adcff5caa34d2d3e31ba180 15-Oct-2015 Russell Brenner <russellbrenner@google.com> Merge "Add multi-script support"
dd9f0b31a84f289557d7ae405c7a74e2c6fbb05a 22-Sep-2015 Russell Brenner <russellbrenner@google.com> Add multi-script support

Added API for sending results back to WizardManager, including the
new bundle extra, to replace the extras for the script URI and action
ID.

Bug: 23392273
Change-Id: Idcd04ea47679bfc9f9a8293a022d28d32c9e2acc
om/android/setupwizardlib/util/WizardManagerHelper.java
59441c01edcceaae457ab2ef7f5094745ed450e1 13-Oct-2015 Maurice Lam <yukl@google.com> Merge "[SuwLib] Adjust a11y event for header"
2f6da982127c0fe48d9f4002a94e4212076fadb2 13-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Adjust a11y event for header

Exclude StickyHeaderListView's header from item count in a11y event.

Bug: 24871684
Change-Id: Idffa8e073e4852164d9797c739194dde71d8a3fb
om/android/setupwizardlib/view/StickyHeaderListView.java
48dd827be07471f59aae71eb026253cc1ab7ef97 12-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Support icons in items framework

Change-Id: Idd6ce39a9d4be2914ae3f8747c86b173d578f468
om/android/setupwizardlib/items/Item.java
b922482e73fc63840d86b78898d0165ffcad1c72 09-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Make Items editable

Add setters to the properties of items to make them editable.

Change-Id: I04ab8a0fd31f52e60a699198fe1422bed5163e61
om/android/setupwizardlib/items/Item.java
c5bf1cb9cb52f95f862eedb8d4f2c71c1ff1a79f 09-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Single-line item

Hide the summary TextView if summary is not set, so that the title
will be centered vertically.

Change-Id: Idbc5f35f7ce48a7338eb0b7061ef5d02b74b7b65
om/android/setupwizardlib/items/Item.java
5bf291fde3dfd64f264d525534730514a279c8fc 06-Oct-2015 Maurice Lam <yukl@google.com> [SuwLib] Implement Items framework

Items framework is a framework modeled after preferences, which uses
XML to inflate a collection of items. Instead of using activity or
fragment directly like preferences, a ListAdapter is created and you
can use that with any existing ListViews.

SetupWizardItemsLayout is a convenient wrapper around
SetupWizardListLayout which will automatically inflates
android:entries in its attributes to populate the list.

Note: A recycler view adapter is under consideration

Change-Id: I5eb8853c160cf86fa5b6f21a01dfa4b0030643f6
om/android/setupwizardlib/SetupWizardItemsLayout.java
om/android/setupwizardlib/items/GenericInflater.java
om/android/setupwizardlib/items/Item.java
om/android/setupwizardlib/items/ItemAdapter.java
om/android/setupwizardlib/items/ItemGroup.java
om/android/setupwizardlib/items/ItemInflater.java
95abb283deb209532bbbae4ade3f5cc149a548a6 09-Sep-2015 Maurice Lam <yukl@google.com> [SuwLib] Make getScrollView public

Make getScrollView public so that client apps can get the scrollview
without using findViewById and making assumptions about the type.

Change-Id: I79b73e4b2a02831147b49e7d9137b7954759c360
om/android/setupwizardlib/SetupWizardLayout.java
99231ff98b97a82811f889636ad6dae6d371275b 10-Jun-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add showSystemBars method

Added showSystemBars method that will undo the visbility flags added
by hideSystemBars.

Change-Id: Iaaa2f2e96089ebf3696f747f51d9174dc0d2bb09
om/android/setupwizardlib/util/SystemBarHelper.java
b38561602db3fc1b31c7ee907da41ec2c53e4764 19-Aug-2015 Maurice Lam <yukl@google.com> [SuwLib] Fix javadocs

Convert existing javadocs, which is more plain-text-ish, to javadocs
using proper HTML and javadoc tags.

Bug: 21444334
Change-Id: Iea79b3371c4e1c1c99515abd1c1492f37ad38d05
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/TemplateLayout.java
om/android/setupwizardlib/util/Partner.java
om/android/setupwizardlib/util/SystemBarHelper.java
om/android/setupwizardlib/util/WizardManagerHelper.java
om/android/setupwizardlib/view/Illustration.java
om/android/setupwizardlib/view/NavigationBar.java
om/android/setupwizardlib/view/StickyHeaderListView.java
om/android/setupwizardlib/view/StickyHeaderScrollView.java
91051468dbc273da8d7e7608640e833a71d011e2 07-Aug-2015 Maurice Lam <yukl@google.com> [SuwLib] Tint navigation button icons

- Remove the dark variant of button icons, since it is now tinted
to the desired color
- Use DrawableCompat.setTintList to tint the drawables to the same
color used as text
- Use textColorPrimary as the navigation text color, since the spec
now matches the default textColorPrimary implementation of material
theme (This changes the disabled color from 20% alpha to 26% alpha)
- Configured the build to take two different implementations of
NavigationBarButton. The platform build is the same as Button,
since drawable tinting is natively supported. The comapt build
uses DrawableCompat in the support library to tint any compound
drawables
- Removed all xxxhdpi assets since that was introduced in L, but
vector assets are used in L instead.
- For the vector drawables, use tint instead of fillColor so that the
state in the ColorStateList will be taken into account.

Bug: 22129308
Change-Id: Id0c7b40ad3e71c2c66a0e89df4522865a61e923e
om/android/setupwizardlib/view/NavigationBar.java
3fa6e08ea0e8b2a9deff3096893cfa49761e2ac7 07-Aug-2015 Maurice Lam <yukl@google.com> [SuwLib] Enable lint for setup wizard library

Fix existing lint issues and enforce lint in all builds done in the
ub-setupwizard-* tree. Lint will not be run or enforced in included
builds (e.g. GMS core builds which builds setup wizard library from
source using build.gradle file)

Change-Id: I7c1f8e2dce38d455ff5b635f80255e09baea1263
om/android/setupwizardlib/view/Illustration.java
bdfc0132ff90a333de202adfbf204cdc8139e632 13-Aug-2015 Maurice Lam <yukl@google.com> [SuwLib] Refactor out TemplateLayout

Refactor TemplateLayout as a base class for SetupWizardLayout, which
is a generic layout that takes the "android:layout", inflates that as
a template and put its children in the "container".

Change-Id: Id7977787ffa6cdb5df7a4cb8172ce1fa6a52ed45
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/TemplateLayout.java
803f8b1dc47a4adebfab7434b6d8e410f80de14f 01-Aug-2015 Maurice Lam <yukl@google.com> [SuwLib] Avoid infinite loop in SystemBarHelper

Set the maximum number of retries allowed by SystemBarHelper to
peek for the decor view to 3.

Bug: 22846994
Change-Id: Ia69cb28deb8c182a7f31890d20cc687218b93200
om/android/setupwizardlib/util/SystemBarHelper.java
35ef4eb340353962f23cab81a33b2ddbdfce1da7 09-Jun-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Allow showing keyboard in immersive dialogs

Addd the flag SOFT_INPUT_IS_FORWARD_NAVIGATION when hiding dialog
system bars so that if the dialog wants focus to show IME by default,
it can do so.

Bug: 20639199
Change-Id: I87dc40bbaae71572bbe4b94b92be40342f117613
om/android/setupwizardlib/util/SystemBarHelper.java
8c10c403c063aff3f17c4949b0fe9a88536ae580 29-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Support for ObjectAnimator

Support for animator to animate SetupWizardLayout horizontally, which
requires adding a setXFraction method, changing the translationX with
respect to the width of the view.

Also moved annotations to com.android.setupwizardlib.annotations
package to avoid class loading problems in clients that use support
annotation library.

Bug: 20110840
Change-Id: Ibfb900323bcf4f32c8ded4c4a6dbf4765f17751a
om/android/annotations/VisibleForTesting.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/annotations/Keep.java
om/android/setupwizardlib/annotations/VisibleForTesting.java
om/android/setupwizardlib/util/Partner.java
om/android/setupwizardlib/view/BottomScrollView.java
657d18359b7b671d0d5fb0aeb918dadce4366281 30-May-2015 Maurice Lam <yukl@google.com> Merge "[SetupWizardLib] Update comments for SystemBarHelper" into ub-setupwizard-alatar
624e47bb19724c1195cabb235f150ffcb1656097 30-May-2015 Maurice Lam <yukl@google.com> Merge "[SetupWizardLib] Add support for require scrolling" into ub-setupwizard-alatar
8fc85be65673f6ec8b3202d8b3fc644a3adeeded 30-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Update comments for SystemBarHelper

Update the comments to mention that adjustResize is needed for
SystemBarHelper.setImeInsetView to have effect.

Change-Id: I66de333911b8baf3a74c064d55e609e74ee74172
om/android/setupwizardlib/util/SystemBarHelper.java
2d77e072fed129b34e473c7f77246a2b064fab7d 29-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add support for require scrolling

Add SetupWizardLayout.requireScrollToBottom method that will register
a RequireScrollHelper on the layout. When the helper is registered
and the content view can scroll, the next button will be hidden and a
down-arrow button is shown, which will scroll the page down when
clicked.

Change-Id: Ib9ddcbeec24169cc00265fe107deb1b5099cba8d
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/util/RequireScrollHelper.java
om/android/setupwizardlib/view/NavigationBar.java
6c093727dc5ab7b13f142506803b1d98a642c910 28-May-2015 Maurice Lam <yukl@google.com> Center nav bar button icon

Center the navigation bar button icon when there is no text label.

Bug: 21465490
Change-Id: Ie2d890b29c721f6f2fb0608637b5a76ab389294e
om/android/setupwizardlib/view/NavigationBar.java
173c7bc879c47660f943f2a3cd67ed440f55d3d3 21-May-2015 Maurice Lam <yukl@google.com> Merge "[SetupWizardLib] Add tests for BottomScrollView" into ub-setupwizard-alatar
caf3ce9f8da61e59a7b7dacbce2e1f8e23d3231e 21-May-2015 Russell Brenner <russellbrenner@google.com> Add getHeaderText

Utility routine to return the current header.

Change-Id: I53a5d80a0b65f4388c429503bada9271a3286695
om/android/setupwizardlib/SetupWizardLayout.java
578dd1c111c2461620777b315eab3a95bee9ecd1 21-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add tests for BottomScrollView

Test that BottomScrollView callbacks are called correctly.

Change-Id: Ia2e9e4149057b06794cdf85ba07c44efc0aec579
om/android/setupwizardlib/view/BottomScrollView.java
ae78742ac7987df09fa1b1301b54427beebdf4f6 08-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Guard translationY with SDK version

setTranslationY was introduced in Honeycomb, add the version guard
before calling it in onScrollChanged.
Also update the sitcky header position during onLayout so it is
positioned correctly after orientation change.

Change-Id: I934de1762457129f5ca3a0afe56aac430aa6c3b4
om/android/setupwizardlib/view/StickyHeaderScrollView.java
3c154790e7c6668c60237bcde0fc6f5fa22884b0 07-May-2015 Maurice Lam <yukl@google.com> Sanity check margins before applying

Check that margins are smaller than the height of the view before
applying the margins when setting the IME inset view.

Bug: 20891203
Change-Id: I91420ac3f9aa97a1d6034545e2f507a5a71a0ca8
om/android/setupwizardlib/util/SystemBarHelper.java
0332b43621349b38c33457492b0a70fba37a04a0 07-May-2015 Maurice Lam <yukl@google.com> Merge "Revert "[SetupWizardLib] Force layout after setting margin"" into ub-setupwizard-alatar
916380f7eb2360a35d7c9fc2ec6e05ba76fa07f3 07-May-2015 Maurice Lam <yukl@google.com> Revert "[SetupWizardLib] Force layout after setting margin"

This reverts commit 69893e24fd4d57cde5aaca022eb7bd5a7f859d14.

Change-Id: I7382a06634ba8941edacb59012675df9e0b67c92
om/android/setupwizardlib/util/SystemBarHelper.java
b3020fef9476e0a864bb1609e5c17ee936ca1249 07-May-2015 Maurice Lam <yukl@google.com> Merge "[SetupWizardLib] Force layout after setting margin" into ub-setupwizard-alatar
69893e24fd4d57cde5aaca022eb7bd5a7f859d14 07-May-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Force layout after setting margin

The IME inset view was not being re-laid out with the most update
system inset for some reason, so force the layout after setting the
margin.

Bug: 20891203
Change-Id: Iec03afc0615f45f746c2249667c8525098ce285a
om/android/setupwizardlib/util/SystemBarHelper.java
4a6e72df08c92a696d6b5d35b197e86585952ed9 20-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Use translationY to stick header

Use setTranslationY to stick the header to the top for
StickyHeaderScrollView. This gives a few advantages like touch is
handled correctly automatically, the shadow is drawn correctly and
it works correctly with padding.

Bug: 16190933
Change-Id: Ic555b993dbc6cdec6ccd5109a51598dafa7fa2ba
om/android/setupwizardlib/view/StickyHeaderScrollView.java
7114577a094593dbf55b625146b3809800697030 23-Apr-2015 Jorim Jaggi <jjaggi@google.com> [SetupWizard] Add attributes for illustration size

Allow the client to change the illustration size by specifying
suwIllustrationAspectRatio and suwHeaderPaddingTop.

Change-Id: I0a3a91bbf9bf5672c7ba220560c723257f4a654a
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/view/Illustration.java
5e79c37fe4dbe2b9c082b68ea08f4fc76a76d6a8 15-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Fix shouldMirrorIllustration NPE

Change shouldMirrorIllustration to shouldMirrorDrawable which takes
a non-null drawable as argument, and pass in the corresponding
drawables when drawing the illustration and the background.

Bug: 20229779
Change-Id: Icf378bcb31f7ae5cfe5f8eee3c52923f3c6eb5cf
om/android/setupwizardlib/view/Illustration.java
56a19113d248d9ffdb462a0af6ba8a967635be66 08-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add isLightTheme method

Add WizardManagerHelper.isLightTheme method to tell whether an
activity should use light theme or not.

Bug: 20110002
Change-Id: I41fc142489c9f1c1b9b91cd825f54447b856f58b
om/android/setupwizardlib/util/WizardManagerHelper.java
0d6c44afe2731446e2b96c17ae0fd52e62ea1e54 07-Apr-2015 Maurice Lam <yukl@google.com> Merge "[SetupWizardLib] Adjust immersive flags for dialogs" into ub-setupwizard-alatar
64158e33c3ad618ed0eecef71fd20dd8e3c02568 07-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Fix Partner class and tests

Partner.java had a bug preventing it from fetching the default value
from the original package if the resource is not found in the
overlay. There is a corresponding issue in the test, which is using
its own resources for testing. Since the test package builds against
the source of the library, all resources in the library is also
available in the test package, and therefore the behavior of resource
not found in overlay package could not be tested. This CL fixes that
by using a MockResources object instead.

In addition, the attribute isOverlay was added to ResourceEntry so
clients can tell if the ResourceEntry came from the overlay or from
the fallback.

Change-Id: Ib0490277db502ea563171d79ab8491934dc43d01
om/android/setupwizardlib/util/Partner.java
6be36beb1bdcd9211c504bbb1647d1f610ba2185 04-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Adjust immersive flags for dialogs

Remove the LAYOUT_ immersive flags and apply only HIDE_NAVIGATION and
IMMERSIVE_STICKY. This is because LAYOUT_ flags causes dialogs to not
resize for keyboard, and dialogs don't have to draw under the status
or navigation bars anyway.

Bug: 20091077
Change-Id: I96dc650a1d31046b30c6337b32c1bb91ee4548d2
om/android/setupwizardlib/util/SystemBarHelper.java
d61674efcfaa9f591a44fc75d59566cdd5b409eb 03-Apr-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add progress bar support

Added methods showProgressBar, hideProgressBar and isProgressBarShown
to SetupWizardLayout, that will show the bar if the corresponding
ViewStub exists.

This implementation has an improvement over existing Setup Wizard
implementations in that it supports ListViews as well as ScrollViews,
and the progress bar will be sticky together with the header instead
of being scrolled away.

Change-Id: Ifd7acae36a9b244d759b6528bb5dfdc3e1d15091
om/android/setupwizardlib/SetupWizardLayout.java
e7b519c1769be4e43fff8c9a909cb1ba15f25ebb 30-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Fix nav bar button alpha

Mutate the drawables on the button before setting the alpha, and set
the relative compound drawables (needed for RTL-supported layouts)
and the normal compound drawables (needed for pre-JB-MR1 layouts).

Bug: 19994341
Change-Id: I236f371ca9bd24ab039c6ddef0c3fd12640c607c
om/android/setupwizardlib/view/NavigationBar.java
83c3c51890c8cee83822fd41d323728b8ed2b254 30-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Fix setup wizard crash

Check for null before trying to set alpha on the drawables of the
button. Also call setTextColor so that the text alpha of the button
is also set (in addition to just the drawables).

Bug: 19982609
Change-Id: I1d5c19d792ada1fa8b31902a2b0e27ff80af597f
om/android/setupwizardlib/view/NavigationBar.java
bc60ae4e0ee0116facc9bdc21d6da8a470303ce3 27-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add isSetupWizard

Add WizardManagerHelper.isSetupWizard for clients to tell whether an
intent came from Setup Wizard. Also added WizardManagerHelperTest.

Bug: 19964066
Change-Id: I71166571814be356c1bf34f37692795f99f4b592
om/android/setupwizardlib/util/WizardManagerHelper.java
9f9367672191190f903955d09a4314d40869acc6 27-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Eclair compat build

Bug: 19929602
Change-Id: I0e3ed9024461ec50efe2258031c1d2648f0d333f
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/view/Illustration.java
om/android/setupwizardlib/view/NavigationBar.java
om/android/setupwizardlib/view/StickyHeaderListView.java
e96ec75d23e82b352ab1393dbac8d6372ceb62d7 26-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Fix back button bug

Fix bug in SystemBarHelper.setBackButtonVisible and added unit tests
to the class.

Bug: 19936103
Change-Id: I252e0069ee7b21d25422859a51f51dcbe4c6a7d5
om/android/setupwizardlib/util/SystemBarHelper.java
7e5f0f0ea3b3075258cac9d26f90fd97c1a71dca 23-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Add getNavigationBar

Add getNavigationBar method to SetupWizardLayout

Change-Id: I49eeb5cfee2917d5b4e3f552f9c3b68747dcd79a
om/android/setupwizardlib/SetupWizardLayout.java
a722cfbd655876203db00e86ab6749a1e4d2eeb5 18-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Flip Illustration for RTL on JB

On JB MR1 and MR2, RTL layouts are supported but
Drawable.isAutoMirrored is not available. On those versions in
Illustration check the application supportRtl bit to see if the app
wants to support RTL, and flip the illustration according to that.

Change-Id: Iddf97da7f3371a532bc663c086801ef9fbdace7f
om/android/setupwizardlib/view/Illustration.java
2646e1d82ec6d133b35b775f044e156fca6d9d75 17-Mar-2015 Maurice Lam <yukl@google.com> [SetupWizardLib] Changed project hierarchy

Moved res-ics to ics/res, and res, src, AndroidManifest to main/.
This fits more to the "canonical layout" expected by gradle, and
works around the issue where blaze is expecting every res directory
used by a target to be named the same (including its library
dependencies and its transitive dependencies).

Change-Id: I658e3c0a67a01f379c43d3fad82cd40f9aa8cd28
om/android/annotations/VisibleForTesting.java
om/android/setupwizardlib/SetupWizardLayout.java
om/android/setupwizardlib/SetupWizardListLayout.java
om/android/setupwizardlib/util/Partner.java
om/android/setupwizardlib/util/ResultCodes.java
om/android/setupwizardlib/util/SystemBarHelper.java
om/android/setupwizardlib/util/WizardManagerHelper.java
om/android/setupwizardlib/view/BottomScrollView.java
om/android/setupwizardlib/view/Illustration.java
om/android/setupwizardlib/view/NavigationBar.java
om/android/setupwizardlib/view/StickyHeaderListView.java
om/android/setupwizardlib/view/StickyHeaderScrollView.java