Merge "Updating Tablet clings. (Bug 11973614)" into jb-ub-now-kermit

This commit is contained in:
Winson Chung
2014-01-16 23:07:01 +00:00
committed by Android (Google) Code Review
24 changed files with 888 additions and 233 deletions
+3 -2
View File
@@ -16,7 +16,7 @@
<com.android.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
launcher:drawIdentifier="folder_portrait">
launcher:drawIdentifier="folder_landscape">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -25,6 +25,7 @@
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp">
<LinearLayout
android:id="@+id/folder_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -59,6 +60,6 @@
android:id="@+id/cling_dismiss"
android:layout_marginBottom="15dp"
android:layout_marginEnd="20dp"
android:layout_gravity="bottom|end"
android:layout_gravity="bottom|right"
android:onClick="dismissFolderCling" />
</com.android.launcher3.Cling>
+10 -1
View File
@@ -65,12 +65,21 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/migration_cling"
android:id="@+id/migration_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/migration_workspace_cling"
android:id="@+id/migration_workspace_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/workspace_cling"
android:id="@+id/workspace_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/folder_cling"
android:id="@+id/folder_cling"
android:layout_width="match_parent"
+15 -16
View File
@@ -19,25 +19,26 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="migration_workspace_landscape">
<FrameLayout
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="400dp"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:paddingEnd="60dp"
android:orientation="vertical">
<LinearLayout
android:id="@+id/migration_workspace_cling_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:orientation="vertical">
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
@@ -54,17 +55,15 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_down" />
android:layout_gravity="center_vertical"
android:src="@drawable/cling_arrow_end" />
</LinearLayout>
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_marginRight="20dp"
android:layout_gravity="bottom|right"
android:layout_marginTop="5dp"
android:layout_gravity="right"
android:onClick="dismissMigrationWorkspaceCling" />
</FrameLayout>
</LinearLayout>
</com.android.launcher3.Cling>
+51 -12
View File
@@ -18,24 +18,20 @@
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="workspace_portrait">
launcher:drawIdentifier="workspace_landscape">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginTop="310dp">
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/workspace_cling_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginTop="30dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_up" />
<LinearLayout
android:paddingLeft="20dp"
android:paddingRight="20dp"
@@ -56,14 +52,57 @@
android:layout_height="wrap_content"
android:text="@string/workspace_cling_move_item" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_down" />
</LinearLayout>
<LinearLayout
android:id="@+id/focused_hotseat_app_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:layout_marginLeft="25dp"
android:layout_marginBottom="90dp"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
android:id="@+id/focused_hotseat_app_title"
style="@style/ClingTitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/focused_hotseat_app_description"
style="@style/ClingText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginLeft="78dp"
android:src="@drawable/cling_arrow_down" />
</LinearLayout>
</FrameLayout>
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_marginEnd="20dp"
android:layout_gravity="bottom|end"
android:layout_marginRight="20dp"
android:layout_gravity="bottom|right"
android:onClick="dismissWorkspaceCling" />
</com.android.launcher3.Cling>
+2 -1
View File
@@ -25,6 +25,7 @@
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp">
<LinearLayout
android:id="@+id/folder_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -59,6 +60,6 @@
android:id="@+id/cling_dismiss"
android:layout_marginBottom="15dp"
android:layout_marginEnd="20dp"
android:layout_gravity="bottom|end"
android:layout_gravity="bottom|right"
android:onClick="dismissFolderCling" />
</com.android.launcher3.Cling>
@@ -63,7 +63,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:layout_gravity="bottom|right"
android:onClick="dismissMigrationWorkspaceCling" />
</FrameLayout>
+1
View File
@@ -24,6 +24,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/workspace_cling_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
+100
View File
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="first_run_portrait">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/bubble_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp"
android:orientation="vertical">
<TextView
style="@style/ClingAltTitleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp"
android:text="@string/first_run_cling_title"
android:textColor="#FFFFFFFF"
android:gravity="center" />
<TextView
style="@style/ClingAltText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/first_run_cling_description"
android:textColor="#80000000"
android:gravity="center" />
</LinearLayout>
<TextView
style="@style/ClingHintText"
android:id="@+id/search_bar_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:layout_marginEnd="30dp"
android:layout_marginTop="80dp"
android:gravity="center_horizontal"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableTop="@drawable/cling_arrow_up"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_search_bar_hint" />
<TextView
style="@style/ClingHintText"
android:id="@+id/custom_content_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:layout_marginStart="30dp"
android:layout_marginTop="120dp"
android:gravity="start"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableStart="@drawable/cling_arrow_start"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_custom_content_hint" />
<TextView
style="@style/ClingHintText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="30dp"
android:layout_marginBottom="120dp"
android:maxWidth="180dp"
android:drawableEnd="@drawable/cling_arrow_end"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_create_screens_hint" />
</FrameLayout>
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_marginEnd="30dp"
android:layout_gravity="bottom|end"
android:onClick="dismissFirstRunCling" />
</com.android.launcher3.Cling>
-51
View File
@@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
launcher:drawIdentifier="folder_portrait">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:layout_marginTop="@dimen/folderClingMarginTop">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/ClingTitleText"
android:id="@+id/folder_cling_title"
android:text="@string/folder_cling_title" />
<TextView
style="@style/ClingText"
android:id="@+id/folder_cling_create_folder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/folder_cling_create_folder" />
</LinearLayout>
</FrameLayout>
<Button
style="@style/ClingButton"
android:id="@+id/cling_dismiss"
android:minWidth="168dp"
android:textSize="24sp"
android:layout_marginBottom="27dp"
android:layout_marginEnd="36dp"
android:layout_gravity="bottom|end"
android:onClick="dismissFolderCling" />
</com.android.launcher3.Cling>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="migration_workspace_large_portrait">
<FrameLayout
android:id="@+id/content"
android:layout_width="480dp"
android:layout_height="match_parent"
android:layout_gravity="bottom|center_horizontal">
<LinearLayout
android:id="@+id/migration_workspace_cling_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
style="@style/ClingTitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_title" />
<TextView
style="@style/ClingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_move_item" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_down" />
<Button
style="@style/ClingButton"
android:id="@+id/dismiss_migration_workspace_cling_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:onClick="dismissMigrationWorkspaceCling" />
</LinearLayout>
</FrameLayout>
</com.android.launcher3.Cling>
+100
View File
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="first_run_landscape">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/bubble_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp"
android:orientation="vertical">
<TextView
style="@style/ClingAltTitleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp"
android:text="@string/first_run_cling_title"
android:textColor="#FFFFFFFF"
android:gravity="center" />
<TextView
style="@style/ClingAltText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/first_run_cling_description"
android:textColor="#80000000"
android:gravity="center" />
</LinearLayout>
<TextView
style="@style/ClingHintText"
android:id="@+id/search_bar_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:layout_marginStart="60dp"
android:layout_marginTop="105dp"
android:gravity="start"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableStart="@drawable/cling_arrow_start"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_search_bar_hint" />
<TextView
style="@style/ClingHintText"
android:id="@+id/custom_content_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:layout_marginStart="60dp"
android:layout_marginTop="200dp"
android:gravity="start"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableStart="@drawable/cling_arrow_start"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_custom_content_hint" />
<TextView
style="@style/ClingHintText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="30dp"
android:layout_marginBottom="120dp"
android:maxWidth="180dp"
android:drawableEnd="@drawable/cling_arrow_end"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_create_screens_hint" />
</FrameLayout>
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_marginEnd="30dp"
android:layout_gravity="bottom|end"
android:onClick="dismissFirstRunCling" />
</com.android.launcher3.Cling>
+66
View File
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
launcher:drawIdentifier="folder_large">
<LinearLayout
android:id="@+id/folder_bubble"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="left|top"
android:paddingTop="28dp"
android:paddingRight="10dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@drawable/cling_arrow_start" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
style="@style/ClingTitleText"
android:id="@+id/folder_cling_title"
android:text="@string/folder_cling_title" />
<TextView
style="@style/ClingText"
android:id="@+id/folder_cling_create_folder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/folder_cling_create_folder" />
</LinearLayout>
</LinearLayout>
<Button
style="@style/ClingButton"
android:id="@+id/cling_dismiss"
android:layout_marginTop="5dp"
android:layout_gravity="right"
android:onClick="dismissFolderCling" />
</LinearLayout>
</com.android.launcher3.Cling>
+98
View File
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="migration_portrait">
<LinearLayout
android:id="@+id/content"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_marginBottom="15dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/first_run_cling_title"
android:textSize="42dp"
android:textColor="#FFffffff" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="0dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/on_boarding_welcome" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_up" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
style="@style/ClingTitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/migration_cling_title" />
<TextView
style="@style/ClingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/migration_cling_description" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="vertical">
<Button
style="@style/ClingButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/migration_cling_copy_apps"
android:onClick="dismissMigrationClingCopyApps" />
<Button
style="@style/ClingButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/migration_cling_use_default"
android:onClick="dismissMigrationClingUseDefault" />
</LinearLayout>
</LinearLayout>
</com.android.launcher3.Cling>
+65
View File
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="workspace_large">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/workspace_cling_bubble"
android:layout_width="400dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
style="@style/ClingTitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_title" />
<TextView
style="@style/ClingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_move_item" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_down" />
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:onClick="dismissWorkspaceCling" />
</LinearLayout>
</FrameLayout>
</com.android.launcher3.Cling>
-46
View File
@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
launcher:drawIdentifier="folder_large">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/cling_text_block_offset_x"
android:layout_marginTop="@dimen/cling_text_block_offset_y">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/ClingTitleText"
android:id="@+id/folder_cling_title"
android:text="@string/folder_cling_title" />
<TextView
style="@style/ClingText"
android:id="@+id/folder_cling_create_folder"
android:layout_width="480dp"
android:layout_height="wrap_content"
android:text="@string/folder_cling_create_folder" />
<Button
style="@style/ClingButton"
android:id="@+id/cling_dismiss"
android:layout_marginTop="15dp"
android:onClick="dismissFolderCling" />
</LinearLayout>
</FrameLayout>
</com.android.launcher3.Cling>
+98
View File
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="first_run_portrait">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/bubble_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp"
android:orientation="vertical">
<TextView
style="@style/ClingAltTitleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp"
android:text="@string/first_run_cling_title"
android:textColor="#FFFFFFFF"
android:gravity="center" />
<TextView
style="@style/ClingAltText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/first_run_cling_description"
android:textColor="#80000000"
android:gravity="center" />
</LinearLayout>
<TextView
style="@style/ClingHintText"
android:id="@+id/search_bar_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:layout_marginEnd="120dp"
android:layout_marginTop="80dp"
android:gravity="center_horizontal"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableTop="@drawable/cling_arrow_up"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_search_bar_hint" />
<TextView
style="@style/ClingHintText"
android:id="@+id/custom_content_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="30dp"
android:gravity="start"
android:maxWidth="160dp"
android:visibility="gone"
android:drawableStart="@drawable/cling_arrow_start"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_custom_content_hint" />
<TextView
style="@style/ClingHintText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="30dp"
android:maxWidth="180dp"
android:drawableEnd="@drawable/cling_arrow_end"
android:drawablePadding="10dp"
android:text="@string/first_run_cling_create_screens_hint" />
</FrameLayout>
<Button
style="@style/ClingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_marginEnd="40dp"
android:layout_gravity="bottom|end"
android:onClick="dismissFirstRunCling" />
</com.android.launcher3.Cling>
+15 -1
View File
@@ -64,17 +64,31 @@
<!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure
that it is still visible during the transition to AllApps and doesn't overlay on
top of that view. -->
<com.android.launcher3.ScrimView
android:id="@+id/cling_scrim"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/first_run_cling"
android:id="@+id/first_run_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/migration_cling"
android:id="@+id/migration_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/migration_workspace_cling"
android:id="@+id/migration_workspace_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/workspace_cling"
android:id="@+id/workspace_cling"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<include layout="@layout/folder_cling"
android:id="@+id/folder_cling"
android:layout_width="match_parent"
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
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.launcher3.Cling
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:drawIdentifier="migration_workspace_large_portrait">
<FrameLayout
android:id="@+id/content"
android:layout_width="480dp"
android:layout_height="match_parent"
android:layout_gravity="bottom|center_horizontal">
<LinearLayout
android:id="@+id/migration_workspace_cling_bubble"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:orientation="vertical"
android:background="@drawable/cling">
<TextView
style="@style/ClingTitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_title" />
<TextView
style="@style/ClingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/workspace_cling_move_item" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/cling_arrow_down" />
<Button
style="@style/ClingButton"
android:id="@+id/dismiss_migration_workspace_cling_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:onClick="dismissMigrationWorkspaceCling" />
</LinearLayout>
</FrameLayout>
</com.android.launcher3.Cling>
-29
View File
@@ -18,33 +18,4 @@
-->
<resources>
<style name="ClingButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">15dp</item>
<item name="android:paddingLeft">35dp</item>
<item name="android:paddingRight">35dp</item>
<item name="android:text">@string/cling_dismiss</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/cling_button_bg</item>
</style>
<style name="ClingTitleText">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:textSize">30sp</item>
<item name="android:textColor">#33B5E5</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDy">2</item>
<item name="android:shadowRadius">2.0</item>
</style>
<style name="ClingText">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDy">2</item>
<item name="android:shadowRadius">2.0</item>
<item name="android:lineSpacingMultiplier">1.1</item>
</style>
</resources>
-32
View File
@@ -18,38 +18,6 @@
-->
<resources>
<!-- Clings -->
<style name="ClingButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">15dp</item>
<item name="android:paddingLeft">35dp</item>
<item name="android:paddingRight">35dp</item>
<item name="android:text">@string/cling_dismiss</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/cling_button_bg</item>
</style>
<style name="ClingTitleText">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:textSize">32sp</item>
<item name="android:textColor">#49C0EC</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDy">2</item>
<item name="android:shadowRadius">2.0</item>
</style>
<style name="ClingText">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDy">2</item>
<item name="android:shadowRadius">2.0</item>
<item name="android:lineSpacingMultiplier">1.1</item>
</style>
<!-- Workspace -->
<style name="TabIndicator.AppsCustomize">
<item name="android:paddingLeft">32dp</item>
+82 -13
View File
@@ -30,6 +30,7 @@ import android.util.DisplayMetrics;
import android.view.FocusFinder;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.TextView;
@@ -49,6 +50,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
private static String MIGRATION_LANDSCAPE = "migration_landscape";
private static String MIGRATION_WORKSPACE_PORTRAIT = "migration_workspace_portrait";
private static String MIGRATION_WORKSPACE_LARGE_PORTRAIT = "migration_workspace_large_portrait";
private static String MIGRATION_WORKSPACE_LANDSCAPE = "migration_workspace_landscape";
private static String FOLDER_PORTRAIT = "folder_portrait";
@@ -56,6 +58,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
private static String FOLDER_LARGE = "folder_large";
private static float FIRST_RUN_CIRCLE_BUFFER_DPS = 60;
private static float FIRST_RUN_MAX_CIRCLE_RADIUS_DPS = 180;
private static float WORKSPACE_INNER_CIRCLE_RADIUS_DPS = 50;
private static float WORKSPACE_OUTER_CIRCLE_RADIUS_DPS = 60;
private static float WORKSPACE_CIRCLE_Y_OFFSET_DPS = 30;
@@ -106,7 +109,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
if (!mIsInitialized) {
mLauncher = l;
mScrimView = scrim;
mBackgroundColor = 0xdd000000;
mBackgroundColor = 0xcc000000;
setOnLongClickListener(this);
setOnClickListener(this);
setOnTouchListener(this);
@@ -141,7 +144,9 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
Resources r = getResources();
int appIconId = drawableId;
Hotseat hotseat = mLauncher.getHotseat();
if (hotseat != null && appIconId > -1 && appRank > -1 && !title.isEmpty() &&
// Skip the focused app in the large layouts
if (!mDrawIdentifier.equals(WORKSPACE_LARGE) &&
hotseat != null && appIconId > -1 && appRank > -1 && !title.isEmpty() &&
!description.isEmpty()) {
// Set the app bounds
int x = hotseat.getCellXFromOrder(appRank);
@@ -175,6 +180,18 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
}
}
void setOpenFolderRect(Rect r) {
if (mDrawIdentifier.equals(FOLDER_LANDSCAPE) ||
mDrawIdentifier.equals(FOLDER_LARGE)) {
ViewGroup vg = (ViewGroup) findViewById(R.id.folder_bubble);
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) vg.getLayoutParams();
lp.topMargin = r.top - mInsets.bottom;
lp.leftMargin = r.right;
vg.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
vg.requestLayout();
}
}
void updateMigrationWorkspaceBubblePosition() {
DisplayMetrics metrics = new DisplayMetrics();
mLauncher.getWindowManager().getDefaultDisplay().getMetrics(metrics);
@@ -184,10 +201,59 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
Rect pageIndicatorBounds = grid.getWorkspacePageIndicatorBounds(mInsets);
View bubble = findViewById(R.id.migration_workspace_cling_bubble);
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) bubble.getLayoutParams();
lp.bottomMargin = grid.heightPx - pageIndicatorBounds.top;
bubble.requestLayout();
if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT)) {
View bubble = findViewById(R.id.migration_workspace_cling_bubble);
ViewGroup.MarginLayoutParams lp =
(ViewGroup.MarginLayoutParams) bubble.getLayoutParams();
lp.bottomMargin = grid.heightPx - pageIndicatorBounds.top;
bubble.requestLayout();
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_LARGE_PORTRAIT)) {
View bubble = findViewById(R.id.content);
ViewGroup.MarginLayoutParams lp =
(ViewGroup.MarginLayoutParams) bubble.getLayoutParams();
lp.bottomMargin = grid.heightPx - pageIndicatorBounds.top;
bubble.requestLayout();
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
View bubble = findViewById(R.id.content);
ViewGroup.MarginLayoutParams lp =
(ViewGroup.MarginLayoutParams) bubble.getLayoutParams();
if (grid.isLayoutRtl) {
lp.leftMargin = pageIndicatorBounds.right;
} else {
lp.rightMargin = (grid.widthPx - pageIndicatorBounds.left);
}
bubble.requestLayout();
}
}
void updateWorkspaceBubblePosition() {
DisplayMetrics metrics = new DisplayMetrics();
mLauncher.getWindowManager().getDefaultDisplay().getMetrics(metrics);
// Get the cut-out bounds
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
Rect cutOutBounds = getWorkspaceCutOutBounds(metrics);
if (mDrawIdentifier.equals(WORKSPACE_LARGE)) {
View bubble = findViewById(R.id.workspace_cling_bubble);
ViewGroup.MarginLayoutParams lp =
(ViewGroup.MarginLayoutParams) bubble.getLayoutParams();
lp.bottomMargin = grid.heightPx - cutOutBounds.top - mInsets.bottom;
bubble.requestLayout();
}
}
private Rect getWorkspaceCutOutBounds(DisplayMetrics metrics) {
int halfWidth = metrics.widthPixels / 2;
int halfHeight = metrics.heightPixels / 2;
int yOffset = DynamicGrid.pxFromDp(WORKSPACE_CIRCLE_Y_OFFSET_DPS, metrics);
if (mDrawIdentifier.equals(WORKSPACE_LARGE)) {
yOffset = 0;
}
int radius = DynamicGrid.pxFromDp(WORKSPACE_OUTER_CIRCLE_RADIUS_DPS, metrics);
return new Rect(halfWidth - radius, halfHeight - yOffset - radius, halfWidth + radius,
halfHeight - yOffset + radius);
}
void show(boolean animate, int duration) {
@@ -198,6 +264,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
mDrawIdentifier.equals(WORKSPACE_LARGE) ||
mDrawIdentifier.equals(WORKSPACE_CUSTOM) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LARGE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
View content = getContent();
content.setAlpha(0f);
@@ -381,6 +448,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
mLauncher.getLauncherClings().dismissWorkspaceCling(null);
return true;
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LARGE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
mLauncher.getLauncherClings().dismissMigrationWorkspaceCling(null);
return true;
@@ -417,6 +485,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
mDrawIdentifier.equals(WORKSPACE_LARGE) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LARGE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
// Initialize the draw buffer (to allow punching through)
eraseBg = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(),
@@ -443,24 +512,23 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
bubbleContent.getGlobalVisibleRect(bubbleRect);
mBubblePaint.setAlpha((int) (255 * alpha));
float buffer = DynamicGrid.pxFromDp(FIRST_RUN_CIRCLE_BUFFER_DPS, metrics);
float maxRadius = DynamicGrid.pxFromDp(FIRST_RUN_MAX_CIRCLE_RADIUS_DPS, metrics);
float radius = Math.min(maxRadius, (bubbleContent.getMeasuredWidth() + buffer) / 2);
canvas.drawCircle(metrics.widthPixels / 2,
bubbleRect.centerY(),
(bubbleContent.getMeasuredWidth() + buffer) / 2,
bubbleRect.centerY(), radius,
mBubblePaint);
} else if (mDrawIdentifier.equals(WORKSPACE_PORTRAIT) ||
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
mDrawIdentifier.equals(WORKSPACE_LARGE)) {
int offset = DynamicGrid.pxFromDp(WORKSPACE_CIRCLE_Y_OFFSET_DPS, metrics);
Rect cutOutBounds = getWorkspaceCutOutBounds(metrics);
// Draw the outer circle
mErasePaint.setAlpha(128);
eraseCanvas.drawCircle(metrics.widthPixels / 2,
metrics.heightPixels / 2 - offset,
eraseCanvas.drawCircle(cutOutBounds.centerX(), cutOutBounds.centerY(),
DynamicGrid.pxFromDp(WORKSPACE_OUTER_CIRCLE_RADIUS_DPS, metrics),
mErasePaint);
// Draw the inner circle
mErasePaint.setAlpha(0);
eraseCanvas.drawCircle(metrics.widthPixels / 2,
metrics.heightPixels / 2 - offset,
eraseCanvas.drawCircle(cutOutBounds.centerX(), cutOutBounds.centerY(),
DynamicGrid.pxFromDp(WORKSPACE_INNER_CIRCLE_RADIUS_DPS, metrics),
mErasePaint);
canvas.drawBitmap(eraseBg, 0, 0, null);
@@ -476,6 +544,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
mFocusedHotseatApp.draw(canvas);
}
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LARGE_PORTRAIT) ||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
int offset = DynamicGrid.pxFromDp(WORKSPACE_CIRCLE_Y_OFFSET_DPS, metrics);
// Draw the outer circle
+16 -3
View File
@@ -483,9 +483,22 @@ public class DeviceProfile {
/** Returns the bounds of the workspace page indicators. */
Rect getWorkspacePageIndicatorBounds(Rect insets) {
Rect workspacePadding = getWorkspacePadding();
int pageIndicatorTop = heightPx - insets.bottom - workspacePadding.bottom;
return new Rect(workspacePadding.left, pageIndicatorTop,
widthPx - workspacePadding.right, pageIndicatorTop + pageIndicatorHeightPx);
if (isLandscape && transposeLayoutWithOrientation) {
if (isLayoutRtl) {
return new Rect(workspacePadding.left, workspacePadding.top,
workspacePadding.left + pageIndicatorHeightPx,
heightPx - workspacePadding.bottom - insets.bottom);
} else {
int pageIndicatorLeft = widthPx - workspacePadding.right;
return new Rect(pageIndicatorLeft, workspacePadding.top,
pageIndicatorLeft + pageIndicatorHeightPx,
heightPx - workspacePadding.bottom - insets.bottom);
}
} else {
int pageIndicatorTop = heightPx - insets.bottom - workspacePadding.bottom;
return new Rect(workspacePadding.left, pageIndicatorTop,
widthPx - workspacePadding.right, pageIndicatorTop + pageIndicatorHeightPx);
}
}
/** Returns the workspace padding in the specified orientation */
+8 -8
View File
@@ -4367,17 +4367,17 @@ public class Launcher extends Activity
}
void showWorkspaceSearchAndHotseat() {
mWorkspace.setAlpha(1f);
mHotseat.setAlpha(1f);
mPageIndicators.setAlpha(1f);
mSearchDropTargetBar.showSearchBar(false);
if (mWorkspace != null) mWorkspace.setAlpha(1f);
if (mHotseat != null) mHotseat.setAlpha(1f);
if (mPageIndicators != null) mPageIndicators.setAlpha(1f);
if (mSearchDropTargetBar != null) mSearchDropTargetBar.showSearchBar(false);
}
void hideWorkspaceSearchAndHotseat() {
mWorkspace.setAlpha(0f);
mHotseat.setAlpha(0f);
mPageIndicators.setAlpha(0f);
mSearchDropTargetBar.hideSearchBar(false);
if (mWorkspace != null) mWorkspace.setAlpha(0f);
if (mHotseat != null) mHotseat.setAlpha(0f);
if (mPageIndicators != null) mPageIndicators.setAlpha(0f);
if (mSearchDropTargetBar != null) mSearchDropTargetBar.hideSearchBar(false);
}
+17 -17
View File
@@ -23,6 +23,7 @@ import android.animation.AnimatorListenerAdapter;
import android.app.ActivityManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.UserManager;
import android.view.LayoutInflater;
@@ -34,7 +35,8 @@ import android.widget.TextView;
class LauncherClings {
private static final String FIRST_RUN_CLING_DISMISSED_KEY = "cling_gel.first_run.dismissed";
private static final String MIGRATION_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
private static final String MIGRATION_WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
private static final String MIGRATION_WORKSPACE_CLING_DISMISSED_KEY =
"cling_gel.migration_workspace.dismissed";
private static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
private static final String FOLDER_CLING_DISMISSED_KEY = "cling_gel.folder.dismissed";
@@ -61,7 +63,7 @@ class LauncherClings {
Cling cling = (Cling) mLauncher.findViewById(clingId);
View scrim = null;
if (scrimId > 0) {
scrim = mLauncher.findViewById(R.id.cling_scrim);
scrim = mLauncher.findViewById(scrimId);
}
if (cling != null) {
cling.init(mLauncher, scrim);
@@ -76,21 +78,11 @@ class LauncherClings {
}
/** Returns whether the clings are enabled or should be shown */
private boolean isClingsEnabled() {
private boolean areClingsEnabled() {
if (DISABLE_CLINGS) {
return false;
}
// For now, limit only to phones
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
if (grid.isTablet()) {
return false;
}
if (grid.isLandscape) {
return false;
}
// disable clings when running in a test harness
if(ActivityManager.isRunningInTestHarness()) return false;
@@ -202,7 +194,7 @@ class LauncherClings {
public boolean shouldShowFirstRunOrMigrationClings() {
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
return isClingsEnabled() &&
return areClingsEnabled() &&
!sharedPrefs.getBoolean(FIRST_RUN_CLING_DISMISSED_KEY, false) &&
!sharedPrefs.getBoolean(MIGRATION_CLING_DISMISSED_KEY, false);
}
@@ -271,7 +263,7 @@ class LauncherClings {
public void showMigrationWorkspaceCling() {
// Enable the clings only if they have not been dismissed before
if (isClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
if (areClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
MIGRATION_WORKSPACE_CLING_DISMISSED_KEY, false)) {
Cling c = initCling(R.id.migration_workspace_cling, 0, false, true);
c.updateMigrationWorkspaceBubblePosition();
@@ -284,9 +276,10 @@ class LauncherClings {
public void showWorkspaceCling() {
// Enable the clings only if they have not been dismissed before
if (isClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
if (areClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
WORKSPACE_CLING_DISMISSED_KEY, false)) {
Cling c = initCling(R.id.workspace_cling, 0, false, true);
c.updateWorkspaceBubblePosition();
// Set the focused hotseat app if there is one
c.setFocusedHotseatApp(mLauncher.getFirstRunFocusedHotseatAppDrawableId(),
@@ -301,11 +294,18 @@ class LauncherClings {
public Cling showFoldersCling() {
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
// Enable the clings only if they have not been dismissed before
if (isClingsEnabled() &&
if (areClingsEnabled() &&
!sharedPrefs.getBoolean(FOLDER_CLING_DISMISSED_KEY, false) &&
!sharedPrefs.getBoolean(Launcher.USER_HAS_MIGRATED, false)) {
Cling cling = initCling(R.id.folder_cling, R.id.cling_scrim,
true, true);
Folder openFolder = mLauncher.getWorkspace().getOpenFolder();
if (openFolder != null) {
Rect openFolderRect = new Rect();
openFolder.getHitRect(openFolderRect);
cling.setOpenFolderRect(openFolderRect);
openFolder.bringToFront();
}
return cling;
} else {
removeCling(R.id.folder_cling);