diff options
Diffstat (limited to 'SetupWizard/res')
-rw-r--r-- | SetupWizard/res/drawable/ic_bluetooth.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_bluetooth_connected.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_bluetooth_item.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_bluetooth_scanning.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_computer.xml | 25 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_headset.xml | 25 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_refresh.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_skip.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_smartphone.xml | 25 | ||||
-rw-r--r-- | SetupWizard/res/drawable/ic_watch.xml | 25 | ||||
-rw-r--r-- | SetupWizard/res/layout/bluetooth_activity.xml | 26 | ||||
-rw-r--r-- | SetupWizard/res/layout/items_greyed_out.xml | 70 | ||||
-rw-r--r-- | SetupWizard/res/values/dimens.xml | 19 | ||||
-rw-r--r-- | SetupWizard/res/values/strings.xml | 47 | ||||
-rw-r--r-- | SetupWizard/res/xml/items_bluetooth.xml | 44 | ||||
-rw-r--r-- | SetupWizard/res/xml/wizard_script_setup_as_new_flow.xml | 191 | ||||
-rw-r--r-- | SetupWizard/res/xml/wizard_script_user.xml | 163 |
17 files changed, 816 insertions, 0 deletions
diff --git a/SetupWizard/res/drawable/ic_bluetooth.xml b/SetupWizard/res/drawable/ic_bluetooth.xml new file mode 100644 index 0000000..3e96002 --- /dev/null +++ b/SetupWizard/res/drawable/ic_bluetooth.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="@dimen/glif_icon_size" + android:height="@dimen/glif_icon_size" + android:viewportWidth="48.0" + android:viewportHeight="48.0" + android:autoMirrored="true"> + <path + android:fillColor="?android:attr/colorPrimary" + android:pathData="M35.41,15.41L24,4h-2v15.17L12.83,10 10,12.83 21.17,24 10,35.17 12.83,38 22,28.83L22,44h2l11.41,-11.41L26.83,24l8.58,-8.59zM26,11.66l3.76,3.76L26,19.17v-7.51zM29.76,32.59L26,36.34v-7.52l3.76,3.77z" /> +</vector> diff --git a/SetupWizard/res/drawable/ic_bluetooth_connected.xml b/SetupWizard/res/drawable/ic_bluetooth_connected.xml new file mode 100644 index 0000000..7e08c89 --- /dev/null +++ b/SetupWizard/res/drawable/ic_bluetooth_connected.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0" + android:autoMirrored="true"> + <path + android:fillColor="?attr/suwListItemIconColor" + android:pathData="M7,12l-2,-2 -2,2 2,2 2,-2zM17.71,7.71L12,2h-1v7.59L6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 11,14.41L11,22h1l5.71,-5.71 -4.3,-4.29 4.3,-4.29zM13,5.83l1.88,1.88L13,9.59L13,5.83zM14.88,16.29L13,18.17v-3.76l1.88,1.88zM19,10l-2,2 2,2 2,-2 -2,-2z" /> +</vector> diff --git a/SetupWizard/res/drawable/ic_bluetooth_item.xml b/SetupWizard/res/drawable/ic_bluetooth_item.xml new file mode 100644 index 0000000..a1841c0 --- /dev/null +++ b/SetupWizard/res/drawable/ic_bluetooth_item.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0" + android:autoMirrored="true"> + <path + android:fillColor="?android:attr/colorPrimary" + android:pathData="M35.41,15.41L24,4h-2v15.17L12.83,10 10,12.83 21.17,24 10,35.17 12.83,38 22,28.83L22,44h2l11.41,-11.41L26.83,24l8.58,-8.59zM26,11.66l3.76,3.76L26,19.17v-7.51zM29.76,32.59L26,36.34v-7.52l3.76,3.77z" /> +</vector> diff --git a/SetupWizard/res/drawable/ic_bluetooth_scanning.xml b/SetupWizard/res/drawable/ic_bluetooth_scanning.xml new file mode 100644 index 0000000..0a8d064 --- /dev/null +++ b/SetupWizard/res/drawable/ic_bluetooth_scanning.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0"> + <path + android:fillAlpha=".3" + android:fillColor="?attr/suwListItemIconColor" + android:pathData="M28.48,24.02l4.64,4.64c0.56,-1.45 0.88,-3.02 0.88,-4.66 0,-1.63 -0.31,-3.19 -0.86,-4.63l-4.66,4.65zM39.06,13.43l-2.53,2.53c1.25,2.41 1.97,5.14 1.97,8.05s-0.72,5.63 -1.97,8.05l2.4,2.4c1.93,-3.1 3.07,-6.73 3.07,-10.63 0,-3.82 -1.09,-7.37 -2.94,-10.4zM31.41,15.41L20,4h-2v15.17L8.83,10 6,12.83 17.17,24 6,35.17 8.83,38 18,28.83L18,44h2l11.41,-11.41L22.83,24l8.58,-8.59zM22,11.66l3.76,3.76L22,19.17v-7.51zM25.76,32.59L22,36.34v-7.52l3.76,3.77z" /> +</vector> diff --git a/SetupWizard/res/drawable/ic_computer.xml b/SetupWizard/res/drawable/ic_computer.xml new file mode 100644 index 0000000..e7020ee --- /dev/null +++ b/SetupWizard/res/drawable/ic_computer.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M20,18c1.1,0 1.99,-0.9 1.99,-2L22,6c0,-1.1 -0.9,-2 -2,-2H4c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2H0v2h24v-2h-4zM4,6h16v10H4V6z" + android:fillColor="#000000"/> +</vector> diff --git a/SetupWizard/res/drawable/ic_headset.xml b/SetupWizard/res/drawable/ic_headset.xml new file mode 100644 index 0000000..ef805c1 --- /dev/null +++ b/SetupWizard/res/drawable/ic_headset.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M12,1c-4.97,0 -9,4.03 -9,9v7c0,1.66 1.34,3 3,3h3v-8H5v-2c0,-3.87 3.13,-7 7,-7s7,3.13 7,7v2h-4v8h3c1.66,0 3,-1.34 3,-3v-7c0,-4.97 -4.03,-9 -9,-9z" + android:fillColor="#000000"/> +</vector> diff --git a/SetupWizard/res/drawable/ic_refresh.xml b/SetupWizard/res/drawable/ic_refresh.xml new file mode 100644 index 0000000..5c39440 --- /dev/null +++ b/SetupWizard/res/drawable/ic_refresh.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0" + android:autoMirrored="true"> + <path + android:fillColor="?attr/suwListItemIconColor" + android:pathData="M35.3,12.7C32.41,9.8 28.42,8 24,8 15.16,8 8.02,15.16 8.02,24S15.16,40 24,40c7.45,0 13.69,-5.1 15.46,-12H35.3c-1.65,4.66 -6.07,8 -11.3,8 -6.63,0 -12,-5.37 -12,-12s5.37,-12 12,-12c3.31,0 6.28,1.38 8.45,3.55L26,22h14V8l-4.7,4.7z" /> +</vector> diff --git a/SetupWizard/res/drawable/ic_skip.xml b/SetupWizard/res/drawable/ic_skip.xml new file mode 100644 index 0000000..8707990 --- /dev/null +++ b/SetupWizard/res/drawable/ic_skip.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:autoMirrored="true"> + <path + android:fillColor="?attr/suwListItemIconColor" + android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z"/> +</vector> diff --git a/SetupWizard/res/drawable/ic_smartphone.xml b/SetupWizard/res/drawable/ic_smartphone.xml new file mode 100644 index 0000000..050d73c --- /dev/null +++ b/SetupWizard/res/drawable/ic_smartphone.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z" + android:fillColor="#000000"/> +</vector> diff --git a/SetupWizard/res/drawable/ic_watch.xml b/SetupWizard/res/drawable/ic_watch.xml new file mode 100644 index 0000000..1346e5b --- /dev/null +++ b/SetupWizard/res/drawable/ic_watch.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M20,12c0,-2.54 -1.19,-4.81 -3.04,-6.27L16,0H8l-0.95,5.73C5.19,7.19 4,9.45 4,12s1.19,4.81 3.05,6.27L8,24h8l0.96,-5.73C18.81,16.81 20,14.54 20,12zM6,12c0,-3.31 2.69,-6 6,-6s6,2.69 6,6 -2.69,6 -6,6 -6,-2.69 -6,-6z" + android:fillColor="#000000"/> +</vector> diff --git a/SetupWizard/res/layout/bluetooth_activity.xml b/SetupWizard/res/layout/bluetooth_activity.xml new file mode 100644 index 0000000..9e32b4d --- /dev/null +++ b/SetupWizard/res/layout/bluetooth_activity.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<com.android.setupwizardlib.GlifRecyclerLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/setup_wizard_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:entries="@xml/items_bluetooth" + android:icon="@drawable/ic_bluetooth" + app:suwDividerInset="@dimen/suw_items_glif_icon_divider_inset" + app:suwHeaderText="@string/bluetooth_title" /> diff --git a/SetupWizard/res/layout/items_greyed_out.xml b/SetupWizard/res/layout/items_greyed_out.xml new file mode 100644 index 0000000..0c190c5 --- /dev/null +++ b/SetupWizard/res/layout/items_greyed_out.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + style="@style/SuwItemContainer" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <FrameLayout + android:id="@+id/suw_items_icon_container" + android:layout_width="@dimen/suw_items_icon_container_width" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="start"> + + <ImageView + android:id="@+id/suw_items_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + tools:ignore="ContentDescription" /> + + </FrameLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="center_vertical" + android:orientation="vertical"> + + <TextView + android:id="@+id/suw_items_title" + style="@style/SuwItemTitle" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="start" + android:textAlignment="viewStart" + android:textColor="?android:attr/textColorSecondary" + tools:ignore="UnusedAttribute" /> + + <TextView + android:id="@+id/suw_items_summary" + style="@style/SuwItemSummary" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/suw_items_padding_bottom_extra" + android:gravity="start" + android:textAlignment="viewStart" + android:visibility="gone" + tools:ignore="UnusedAttribute" /> + + </LinearLayout> + +</LinearLayout> diff --git a/SetupWizard/res/values/dimens.xml b/SetupWizard/res/values/dimens.xml new file mode 100644 index 0000000..6ce560c --- /dev/null +++ b/SetupWizard/res/values/dimens.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (c) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <dimen name="glif_icon_size">32dp</dimen> +</resources> diff --git a/SetupWizard/res/values/strings.xml b/SetupWizard/res/values/strings.xml new file mode 100644 index 0000000..8b55140 --- /dev/null +++ b/SetupWizard/res/values/strings.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Title of the application. Usually not shown. Used as a fallback for TalkBack when activity label is not specified (an accessibility service). [CHAR LIMIT=NONE] --> + <string name="app_name">Setup Wizard</string> + + <!-- Title of bluetooth screen, allowing users to a device to pair to. [CHAR_LIMIT=40] --> + <string name="bluetooth_title">Pair a device</string> + + <!-- Message shown while the device is scanning for nearby bluetooth devices. [CHAR LIMIT=NONE] --> + <string name="bluetooth_scanning">Searching for Bluetooth devices\u2026</string> + + <!-- Skip connecting to any bluetooth devices. [CHAR LIMIT=80] --> + <string name="bluetooth_dont_connect">Don\u2019t pair to any bluetooth device</string> + + <!-- Initiate a re-scan for any nearby bluetooth devices. [CHAR LIMIT=80] --> + <string name="bluetooth_rescan">Refresh</string> + + <!-- Message displayed to convey to the user that a specific bluetooth device is being paired to. [CHAR LIMIT=80] --> + <string name="bluetooth_device_connecting">Pairing\u2026</string> + + <!-- Message when attempting to disconnect from a paired bluetooth device. [CHAR LIMIT=80] --> + <string name="bluetooth_device_disconnecting">Unpairing\u2026</string> + + <!-- Message when an in-progress connection to a bluetooth device is being cancelled. [CHAR LIMIT=80] --> + <string name="bluetooth_device_cancelling">Cancelling\u2026</string> + + <!-- Message displayed to convey to the user that a specific bluetooth device has been paired to. [CHAR LIMIT=80] --> + <string name="bluetooth_device_connected">Connected</string> + + <!-- Description of the bluetooth screen, telling the user to select a device to pair to it via bluetooth. [CHAR LIMIT=NONE] --> + <string name="bluetooth_description">Select a device from the list to pair to it via bluetooth.</string> +</resources> diff --git a/SetupWizard/res/xml/items_bluetooth.xml b/SetupWizard/res/xml/items_bluetooth.xml new file mode 100644 index 0000000..ed538c8 --- /dev/null +++ b/SetupWizard/res/xml/items_bluetooth.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<ItemGroup xmlns:android="http://schemas.android.com/apk/res/android"> + + <Item + android:id="@+id/bluetooth_description" + android:enabled="false" + android:layout="@layout/suw_items_description" /> + + <Item + android:id="@+id/bluetooth_dont_connect" + android:icon="@drawable/ic_skip" + android:title="@string/bluetooth_dont_connect" /> + + <Item + android:id="@+id/bluetooth_scanning" + android:icon="@drawable/ic_bluetooth_scanning" + android:layout="@layout/items_greyed_out" + android:title="@string/bluetooth_scanning" /> + + <Item + android:id="@+id/bluetooth_rescan" + android:icon="@drawable/ic_refresh" + android:title="@string/bluetooth_rescan" + android:visible="false" /> + + <com.android.car.setupwizard.bluetooth.BluetoothDeviceHierarchy + android:id="@+id/bluetooth_device_list" /> + +</ItemGroup> diff --git a/SetupWizard/res/xml/wizard_script_setup_as_new_flow.xml b/SetupWizard/res/xml/wizard_script_setup_as_new_flow.xml new file mode 100644 index 0000000..c55bebc --- /dev/null +++ b/SetupWizard/res/xml/wizard_script_setup_as_new_flow.xml @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2017 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- + The wizard:uris recorded here have the inconvenience of being generated by hand, but they allow + for the full spread of launch flags (we need FLAG_ACTIVITY_NEW_TASK [0x10000000]), where the + <intent> tag processed by Intent.parseIntent() does not. + + adb shell am to-intent-uri -a com.android.setupwizard.WELCOME -f 0x10000000 \-\-ez firstRun true +--> +<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.android.car.setupwizard" + wizard:firstAction="device_owner_warning"> + + <!-- Security warning [RECOMMENDED] --> + <WizardAction id="device_owner_warning" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.DEVICE_OWNER_WARNING;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="check_frp" /> + <result wizard:action="factory_reset" /> + </WizardAction> + + <WizardAction id="factory_reset" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.FACTORY_RESET;end"> + <!-- Factory reset should cause a reboot, but if it returns unexpectedly, + continue on to check_frp --> + <result wizard:action="check_frp" /> + </WizardAction> + + + <!-- Wait to check factory reset protection status [RECOMMENDED] --> + <WizardAction id="check_frp" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.CHECK_FRP;end"> + <result wizard:action="bluetooth_settings" /> + </WizardAction> + + <!-- Bluetooth selection [REQUIRED, CUSTOMIZABLE] --> + <WizardAction id="bluetooth_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.BLUETOOTH_SETTINGS;end"> + <result wizard:action="network_settings" /> + </WizardAction> + + + <!-- Users must be given the opportunity to set up an internet connection, using the given + screens or a custom flow. --> + <!-- Network selection [REQUIRED, CUSTOMIZABLE] --> + <WizardAction id="network_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.NETWORK_SETTINGS;end"> + <result wizard:name="see_all_wifi" + wizard:resultCode="101" + wizard:action="wifi_settings" /> + <result wizard:name="use_cellular" + wizard:resultCode="102" + wizard:action="activate_mobile_data" /> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_network_flow" /> + <result wizard:action="captive_portal" /> + </WizardAction> + + <!-- Mobile data activation --> + <WizardAction id="activate_mobile_data" + wizard:uri="intent:#Intent;action=com.android.setupwizard.ACTIVATE_MOBILE_DATA;end"> + <result wizard:action="captive_portal" /> + </WizardAction> + + <!-- Wi-Fi setup --> + <WizardAction id="wifi_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.WIFI_SETTINGS;end"> + <result wizard:action="captive_portal" /> + </WizardAction> + + + <!-- Resolve captive portal access, and wait for check-in [REQUIRED] --> + <WizardAction id="captive_portal" + wizard:uri="intent:#Intent;action=com.android.setupwizard.CAPTIVE_PORTAL;end"> + <result wizard:action="gms_checkin" /> + </WizardAction> + <WizardAction id="gms_checkin" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.GMS_CHECKIN;end"> + <result wizard:action="ota_update" /> + </WizardAction> + + + <!-- Update system packages [REQUIRED] --> + <WizardAction id="ota_update" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.OTA_UPDATE;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="early_update" /> + <result wizard:action="system_update" /> + </WizardAction> + + <WizardAction id="system_update" + wizard:uri="intent:#Intent;action=android.settings.SYSTEM_UPDATE_SETTINGS;end"> + <!-- System update should cause a reboot, but if it returns unexpectedly, continue on to + early update --> + <result wizard:action="early_update" /> + </WizardAction> + + + <!-- Update other important packages [REQUIRED] --> + <WizardAction id="early_update" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.EARLY_UPDATE;end"> + <result wizard:action="zero_touch" /> + </WizardAction> + + + <!-- Zero touch provisioning (for enterprise) [RECOMMENDED] --> + <WizardAction id="zero_touch" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_zero_touch_flow" > + <result wizard:name="dpm_user_complete" + wizard:resultCode="111" /> + <result wizard:action="load_account_intent" /> + </WizardAction> + + + <!-- Add an account [REQUIRED] --> + <WizardAction id="load_account_intent" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT;B.showTapAndGo=false;end"> + <result wizard:action="account_setup" /> + </WizardAction> + + <WizardAction id="account_setup" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.ACCOUNT_SETUP;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_account_flow" /> + <!-- Alternate flow if managed provisioning already set the user up (for enterprise) [RECOMMENDED] --> + <result wizard:name="dpm_user_complete" + wizard:resultCode="111" /> + <result wizard:action="gms_account_checkin" /> + </WizardAction> + + + <!-- Checkin with Gservices using account. If it fails, VPA will not be available. [REQUIRED] --> + <WizardAction id="gms_account_checkin" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.GMS_ACCOUNT_CHECKIN;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="mfm_check" /> + <result wizard:action="start_vpa" /> + </WizardAction> + + + <!-- Initiate VPA (required for Play Auto-Installs) [RECOMMENDED] --> + <WizardAction id="start_vpa" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.START_VPA;end"> + <result wizard:action="mfm_check" /> + </WizardAction> + + + <!-- Branch to script for setting up with or without an account [REQUIRED] --> + <WizardAction id="mfm_check" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.ACCOUNT_CHECK;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_account_flow" /> + <result wizard:action="account_flow" /> + </WizardAction> + + + <!-- Set up with an account [REQUIRED] --> + <WizardAction id="account_flow" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_new_device_account_flow" /> + + + <!-- Set up without an account [REQUIRED] --> + <WizardAction id="no_account_flow" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_no_account_flow" /> + + + <!-- Set up without a network connection [RECOMMENDED] --> + <WizardAction id="no_network_flow" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_no_network_flow" /> + +</WizardScript> diff --git a/SetupWizard/res/xml/wizard_script_user.xml b/SetupWizard/res/xml/wizard_script_user.xml new file mode 100644 index 0000000..10c91a7 --- /dev/null +++ b/SetupWizard/res/xml/wizard_script_user.xml @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2014 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- + The wizard:uris recorded here have the inconvenience of being generated by hand, but they allow + for the full spread of launch flags (we need FLAG_ACTIVITY_NEW_TASK [0x10000000]), where the + <intent> tag processed by Intent.parseIntent() does not. + + adb shell am to-intent-uri -a com.android.setupwizard.WELCOME -f 0x10000000 \-\-ez firstRun true +--> +<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.android.car.setupwizard" + wizard:firstAction="oem_pre_setup"> + + <!-- Preliminary setup for OEMs [CUSTOMIZABLE] --> + <WizardAction id="oem_pre_setup" + wizard:uri="intent:#Intent;action=com.android.setupwizard.OEM_PRE_SETUP;end"> + <result wizard:action="secondary_user_warning" /> + </WizardAction> + + + <!-- Secondary user warning [RECOMMENDED, CUSTOMIZABLE] --> + <WizardAction id="secondary_user_warning" + wizard:uri="intent:#Intent;action=com.android.setupwizard.USER_WARNING;end"> + <result wizard:name="dpm_user_complete" + wizard:resultCode="111" + wizard:action="check_user_unlock_dpm_user_complete" /> + <result wizard:action="check_user_unlock" /> + </WizardAction> + + <WizardAction id="check_user_unlock_dpm_user_complete" + wizard:uri="intent:#Intent;action=com.android.setupwizard.CHECK_USER_UNLOCK;end"> + <result wizard:action="oem_post_setup" /> + </WizardAction> + + <WizardAction id="check_user_unlock" + wizard:uri="intent:#Intent;action=com.android.setupwizard.CHECK_USER_UNLOCK;end"> + <result wizard:action="bluetooth_settings" /> + </WizardAction> + + <!-- Bluetooth selection [REQUIRED, CUSTOMIZABLE] --> + <WizardAction id="bluetooth_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.BLUETOOTH_SETTINGS;end"> + <result wizard:action="network_settings" /> + </WizardAction> + + <!-- Network selection [REQUIRED, CUSTOMIZABLE] --> + <WizardAction id="network_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.NETWORK_SETTINGS;end"> + <result wizard:name="see_all_wifi" + wizard:resultCode="101" + wizard:action="wifi_settings" /> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_account_flow" /> + <result wizard:action="captive_portal" /> + </WizardAction> + + + <!-- Wi-Fi setup [REQUIRED, CUSTOMIZABLE] --> + <WizardAction id="wifi_settings" + wizard:uri="intent:#Intent;action=com.android.setupwizard.WIFI_SETTINGS;end"> + <result wizard:action="captive_portal" /> + </WizardAction> + + + <!-- Resolve captive portal access, and wait for check-in [REQUIRED] --> + <WizardAction id="captive_portal" + wizard:uri="intent:#Intent;action=com.android.setupwizard.CAPTIVE_PORTAL;end"> + <result wizard:action="gms_checkin" /> + </WizardAction> + + <WizardAction id="gms_checkin" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.GMS_CHECKIN;end"> + <result wizard:action="load_account_intent" /> + </WizardAction> + + + <!-- Add an account [REQUIRED] --> + <WizardAction id="load_account_intent" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT;end"> + <result wizard:action="account_setup" /> + </WizardAction> + + <WizardAction id="account_setup" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.ACCOUNT_SETUP;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_account_flow" /> + <!-- Alternate flow if managed provisioning already set the user up (for enterprise) [RECOMMENDED] --> + <result wizard:name="dpm_user_complete" + wizard:resultCode="111" + wizard:action="oem_post_setup" /> + <result wizard:action="gms_account_checkin" /> + </WizardAction> + + + <!-- Checkin with Gservices using account. If it fails, VPA will not be available. [REQUIRED] --> + <WizardAction id="gms_account_checkin" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.GMS_ACCOUNT_CHECKIN;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="mfm_check" /> + <result wizard:action="start_vpa" /> + </WizardAction> + + + <!-- Initiate VPA (required for Play Auto-Installs) [RECOMMENDED] --> + <WizardAction id="start_vpa" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.START_VPA;end"> + <result wizard:action="mfm_check" /> + </WizardAction> + + + <!-- Branch to script for setting up with or without an account [REQUIRED] --> + <WizardAction id="mfm_check" + wizard:uri="intent:#Intent;action=com.google.android.setupwizard.ACCOUNT_CHECK;end"> + <result wizard:name="skip" + wizard:resultCode="1" + wizard:action="no_account_flow" /> + <result wizard:action="account_flow" /> + </WizardAction> + + + <!-- Set up with an account [REQUIRED] --> + <WizardAction id="account_flow" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_user_account_flow"> + <result wizard:action="oem_post_setup" /> + </WizardAction> + + + <!-- Set up without an account [REQUIRED] --> + <WizardAction id="no_account_flow" + wizard:script="android.resource://com.google.android.setupwizard/xml/wizard_script_user_no_account_flow"> + <result wizard:action="oem_post_setup" /> + </WizardAction> + + + <!-- OEM completion [CUSTOMIZABLE] --> + <WizardAction id="oem_post_setup" + wizard:uri="intent:#Intent;action=com.android.setupwizard.OEM_POST_SETUP;end"> + <result wizard:action="exit" /> + </WizardAction> + + + <!-- Leave Setup Wizard [REQUIRED] --> + <WizardAction id="exit" + wizard:uri="intent:#Intent;action=com.android.setupwizard.EXIT;end" /> + +</WizardScript> |