Polish work for work profile

Bug: 191478900 Work profile toggle specs
Bug: 187761192 Fix issue where Installing app scrolling apps to top
Bug: 191121890	Fix issue where top of AllApps becomes empty when returning to AllApps
Bug: 191477329 String change for work profile paused state
Test: local
Change-Id: Idbaab333566b54afa3dc879f5bea98e1f77c44fc
This commit is contained in:
Samuel Fufa 2021-06-18 17:23:48 -05:00
parent 2f65e7f274
commit ce820f51e2
8 changed files with 24 additions and 17 deletions

View File

@ -18,14 +18,18 @@
<shape android:shape="rectangle">
<corners android:radius="@dimen/work_fab_radius" />
<solid android:color="?android:attr/colorControlHighlight" />
<padding android:left="@dimen/work_fab_radius" android:right="@dimen/work_fab_radius" />
<padding
android:left="@dimen/work_profile_footer_padding"
android:right="@dimen/work_profile_footer_padding" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="@dimen/work_fab_radius" />
<solid android:color="@color/all_apps_tab_background_selected" />
<padding android:left="@dimen/work_fab_radius" android:right="@dimen/work_fab_radius" />
<padding
android:left="@dimen/work_profile_footer_padding"
android:right="@dimen/work_profile_footer_padding" />
</shape>
</item>
</selector>

View File

@ -42,7 +42,7 @@
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="@dimen/rounded_button_height"
android:id="@+id/action_btn"
android:textColor="?attr/workProfileOverlayTextColor"
android:text="@string/work_profile_edu_accept"

View File

@ -17,7 +17,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/work_edu_card_margin"
android:orientation="vertical"
android:gravity="center">
android:gravity="center_horizontal">
<TextView
style="@style/PrimaryHeadline"
@ -25,8 +25,7 @@
android:id="@+id/work_apps_paused_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="40dp"
android:text="@string/work_apps_paused_title"
android:textAlignment="center"
android:textSize="20sp" />
@ -38,12 +37,13 @@
android:textColor="?attr/workProfileOverlayTextColor"
android:text="@string/work_apps_paused_body"
android:textAlignment="center"
android:layout_marginBottom="8dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="24dp"
android:textSize="16sp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="@dimen/rounded_button_height"
android:id="@+id/enable_work_apps"
android:textColor="?attr/workProfileOverlayTextColor"
android:text="@string/work_apps_enable_btn_text"

View File

@ -13,6 +13,7 @@
limitations under the License.
-->
<com.android.launcher3.allapps.WorkModeSwitch xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/TextHeadline"
android:id="@+id/work_mode_toggle"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
@ -22,6 +23,7 @@
android:includeFontPadding="false"
android:drawableTint="@color/all_apps_tab_text"
android:textColor="@color/all_apps_tab_text"
android:textSize="14sp"
android:background="@drawable/work_apps_toggle_background"
android:drawablePadding="16dp"
android:drawableStart="@drawable/ic_corp_off"

View File

@ -394,7 +394,7 @@
<string name="work_profile_edu_accept">Got it</string>
<!--- heading shown when user opens work apps tab while work apps are paused -->
<string name="work_apps_paused_title">Work apps are off</string>
<string name="work_apps_paused_title">Work apps are paused</string>
<!--- body shown when user opens work apps tab while work apps are paused -->
<string name="work_apps_paused_body">Your work apps cant send you notifications, use your battery, or access your location</string>
<!-- content description for paused work apps list -->

View File

@ -1079,7 +1079,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
if (ALL_APPS.equals(mPrevLauncherState) && !ALL_APPS.equals(state)
// Making sure mAllAppsSessionLogId is not null to avoid double logging.
&& mAllAppsSessionLogId != null) {
getAppsView().getSearchUiManager().resetSearch();
getAppsView().reset(false);
getStatsLogManager().logger()
.withContainerInfo(LauncherAtom.ContainerInfo.newBuilder()
.setWorkspace(

View File

@ -255,7 +255,6 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
mWorkModeSwitch.updateCurrentState(isEnabled);
}
mWorkAdapterProvider.updateCurrentState(isEnabled);
mAH[AdapterHolder.WORK].applyPadding();
}
private void hideInput() {
@ -509,7 +508,10 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
R.layout.work_mode_fab, this, false);
this.addView(mWorkModeSwitch);
mWorkModeSwitch.setInsets(mInsets);
mWorkModeSwitch.post(this::resetWorkProfile);
mWorkModeSwitch.post(() -> {
mAH[AdapterHolder.WORK].applyPadding();
resetWorkProfile();
});
}
}
@ -633,6 +635,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
mSearchModeWhileUsingTabs = true;
rebindAdapters(false); // hide tabs
}
mHeader.setCollapsed(true);
}
public void onClearSearchResult() {
@ -715,7 +718,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
if (mHeaderPaint.getColor() != mScrimColor && mHeaderPaint.getColor() != 0) {
int bottom = mUsingTabs && mHeader.mHeaderCollapsed ? mHeader.getVisibleBottomBound()
: mSearchContainer.getBottom();
canvas.drawRect(0, 0, getWidth(), bottom + getTranslationY(),
canvas.drawRect(0, 0, canvas.getWidth(), bottom + getTranslationY(),
mHeaderPaint);
}
}
@ -783,7 +786,6 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
int bottomOffset = mWorkModeSwitch != null && mIsWork ? switchH : 0;
recyclerView.setPadding(padding.left, padding.top, padding.right,
padding.bottom + bottomOffset);
recyclerView.scrollToTop();
}
}

View File

@ -105,9 +105,8 @@ public class SpringRelativeLayout extends RelativeLayout {
@NonNull @Override
protected EdgeEffect createEdgeEffect(RecyclerView view, int direction) {
switch (direction) {
case DIRECTION_TOP:
return new EdgeEffectProxy(getContext(), mEdgeGlowTop);
if (direction == DIRECTION_TOP) {
return new EdgeEffectProxy(getContext(), mEdgeGlowTop);
}
return super.createEdgeEffect(view, direction);
}