Make work footer stick to the bottom if there are only a few apps #2

1. Move the work footer divider into the container, so it is translated
   with the rest of the footer.

2. Fixed the scrollbar issue in work tab by putting the footer height
   in AllAppsRecyclerView

3. We planned to drop the company name, and decided to use
   "Managed by your organisation".

4. Rename WorkModeToggleContainer to WorkFooterContainer as
   we are using work footer in else where.

BUG: 70571983
Change-Id: I218fe7d9970780a1a457ee450f1a32e7a46d9766
diff --git a/res/layout/work_tab_footer.xml b/res/layout/work_tab_footer.xml
index 64c95e3..2606b87 100644
--- a/res/layout/work_tab_footer.xml
+++ b/res/layout/work_tab_footer.xml
@@ -13,7 +13,7 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.views.WorkModeToggleContainer
+<com.android.launcher3.views.WorkFooterContainer
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -22,11 +22,23 @@
     android:paddingRight="@dimen/dynamic_grid_cell_padding_x"
     android:paddingTop="@dimen/all_apps_work_profile_tab_footer_top_padding">
 
+    <ImageView
+        android:id="@+id/work_footer_divider"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:focusable="false"
+        android:importantForAccessibility="no"
+        android:paddingBottom="@dimen/all_apps_divider_margin_vertical"
+        android:paddingTop="@dimen/all_apps_divider_margin_vertical"
+        android:scaleType="fitXY"
+        android:src="@drawable/all_apps_divider"/>
+
     <Switch
         android:id="@+id/work_mode_toggle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentEnd="true"
+        android:layout_below="@id/work_footer_divider"
         android:theme="@style/WorkModeSwitchTheme"/>
 
     <TextView
@@ -36,7 +48,6 @@
         android:layout_alignBaseline="@id/work_mode_toggle"
         android:layout_alignParentStart="true"
         android:ellipsize="end"
-        android:fontFamily="roboto-regular"
         android:lines="1"
         android:text="@string/work_profile_toggle_label"
         android:textColor="?android:attr/textColorTertiary"
@@ -50,7 +61,6 @@
         android:layout_marginTop="8dp"
         android:src="@drawable/ic_corp"/>
 
-
     <TextView
         android:id="@+id/managed_by_label"
         android:layout_width="wrap_content"
@@ -63,7 +73,8 @@
         android:lines="1"
         android:minHeight="24dp"
         android:paddingStart="12dp"
+        android:text="@string/managed_by_your_organisation"
         android:textColor="?android:attr/textColorHint"
         android:textSize="13sp"/>
 
-</com.android.launcher3.views.WorkModeToggleContainer>
\ No newline at end of file
+</com.android.launcher3.views.WorkFooterContainer>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index eca64c8..d77065c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -330,5 +330,7 @@
     <string name="bottom_work_tab_user_education_title">Find work apps here</string>
     <!-- Body text in bottom user education view in work tab -->
     <string name="bottom_work_tab_user_education_body">Each work app has an orange badge, which means it\'s kept secure by your organization. Work apps can be moved to your Home Screen for easier access.</string>
+    <!-- Label in work tab to tell users that work profile is managed by their organisation. -->
+    <string name="managed_by_your_organisation">Managed by your organisation</string>
 
 </resources>
diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
index da4d9f0..246f7be 100644
--- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
+++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
@@ -381,10 +381,6 @@
             case VIEW_TYPE_WORK_TAB_FOOTER:
                 Switch workModeToggle = holder.itemView.findViewById(R.id.work_mode_toggle);
                 workModeToggle.setChecked(!isAnyProfileQuietModeEnabled());
-
-                TextView textView = holder.itemView.findViewById(R.id.managed_by_label);
-                // TODO: Configure the textview properly.
-                textView.setText("Managed by your company");
                 break;
         }
         if (mBindViewCallback != null) {
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index fd80784..4f931ca 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -168,6 +168,8 @@
                 AllAppsGridAdapter.VIEW_TYPE_SEARCH_MARKET);
         putSameHeightFor(adapter, widthMeasureSpec, heightMeasureSpec,
                 AllAppsGridAdapter.VIEW_TYPE_EMPTY_SEARCH);
+        putSameHeightFor(adapter, widthMeasureSpec, heightMeasureSpec,
+                AllAppsGridAdapter.VIEW_TYPE_WORK_TAB_FOOTER);
         if (FeatureFlags.DISCOVERY_ENABLED) {
             putSameHeightFor(adapter, widthMeasureSpec, heightMeasureSpec,
                     AllAppsGridAdapter.VIEW_TYPE_APPS_LOADING_DIVIDER);
diff --git a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
index 2b9cba3..02e731a 100644
--- a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
+++ b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
@@ -621,7 +621,6 @@
 
         // Add the work profile footer if required.
         if (mIsWork) {
-            mAdapterItems.add(AdapterItem.asAllAppsDivider(position++));
             mAdapterItems.add(AdapterItem.asWorkTabFooter(position++));
         }
     }
diff --git a/src/com/android/launcher3/views/WorkModeToggleContainer.java b/src/com/android/launcher3/views/WorkFooterContainer.java
similarity index 82%
rename from src/com/android/launcher3/views/WorkModeToggleContainer.java
rename to src/com/android/launcher3/views/WorkFooterContainer.java
index c1b5ddd..fb17b4f 100644
--- a/src/com/android/launcher3/views/WorkModeToggleContainer.java
+++ b/src/com/android/launcher3/views/WorkFooterContainer.java
@@ -21,19 +21,19 @@
 import android.widget.RelativeLayout;
 
 /**
- * Container to show work mode toggle in all-apps
+ * Container to show work footer in all-apps.
  */
-public class WorkModeToggleContainer extends RelativeLayout {
+public class WorkFooterContainer extends RelativeLayout {
 
-    public WorkModeToggleContainer(Context context) {
+    public WorkFooterContainer(Context context) {
         super(context);
     }
 
-    public WorkModeToggleContainer(Context context, AttributeSet attrs) {
+    public WorkFooterContainer(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
 
-    public WorkModeToggleContainer(Context context, AttributeSet attrs, int defStyleAttr) {
+    public WorkFooterContainer(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
     }