Loading res/layout/work_tab_footer.xml +47 −50 Original line number Diff line number Diff line Loading @@ -13,31 +13,28 @@ See the License for the specific language governing permissions and limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.android.launcher3.views.WorkModeToggleContainer xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingBottom="@dimen/all_apps_work_profile_tab_footer_bottom_padding" android:paddingLeft="@dimen/dynamic_grid_cell_padding_x" android:paddingRight="@dimen/dynamic_grid_cell_padding_x" android:paddingTop="@dimen/all_apps_work_profile_tab_footer_top_padding"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Switch android:id="@+id/work_mode_toggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:theme="@style/WorkModeSwitchTheme"/> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/work_mode_toggle" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:ellipsize="end" android:fontFamily="roboto-regular" android:lines="1" Loading @@ -45,28 +42,28 @@ android:textColor="?android:attr/textColorTertiary" android:textSize="16sp"/> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="8dp"> <ImageView android:id="@android:id/icon" android:layout_width="24dp" android:layout_height="24dp" android:layout_below="@android:id/title" android:layout_marginTop="8dp" android:src="@drawable/ic_corp"/> <TextView android:id="@+id/managed_by_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_below="@android:id/title" android:layout_marginTop="8dp" android:layout_toEndOf="@android:id/icon" android:ellipsize="end" android:gravity="center_vertical" android:lines="1" android:paddingLeft="12dp" android:minHeight="24dp" android:paddingStart="12dp" android:textColor="?android:attr/textColorHint" android:textSize="13sp"/> </LinearLayout> </LinearLayout> No newline at end of file </com.android.launcher3.views.WorkModeToggleContainer> No newline at end of file src/com/android/launcher3/views/WorkModeToggleContainer.java 0 → 100644 +59 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 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. */ package com.android.launcher3.views; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.RelativeLayout; /** * Container to show work mode toggle in all-apps */ public class WorkModeToggleContainer extends RelativeLayout { public WorkModeToggleContainer(Context context) { super(context); } public WorkModeToggleContainer(Context context, AttributeSet attrs) { super(context, attrs); } public WorkModeToggleContainer(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); updateTranslation(); } @Override public void offsetTopAndBottom(int offset) { super.offsetTopAndBottom(offset); updateTranslation(); } private void updateTranslation() { if (getParent() instanceof View) { View parent = (View) getParent(); int availableBot = parent.getHeight() - parent.getPaddingBottom(); setTranslationY(Math.max(0, availableBot - getBottom())); } } } Loading
res/layout/work_tab_footer.xml +47 −50 Original line number Diff line number Diff line Loading @@ -13,31 +13,28 @@ See the License for the specific language governing permissions and limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.android.launcher3.views.WorkModeToggleContainer xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingBottom="@dimen/all_apps_work_profile_tab_footer_bottom_padding" android:paddingLeft="@dimen/dynamic_grid_cell_padding_x" android:paddingRight="@dimen/dynamic_grid_cell_padding_x" android:paddingTop="@dimen/all_apps_work_profile_tab_footer_top_padding"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Switch android:id="@+id/work_mode_toggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:theme="@style/WorkModeSwitchTheme"/> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/work_mode_toggle" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:ellipsize="end" android:fontFamily="roboto-regular" android:lines="1" Loading @@ -45,28 +42,28 @@ android:textColor="?android:attr/textColorTertiary" android:textSize="16sp"/> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="8dp"> <ImageView android:id="@android:id/icon" android:layout_width="24dp" android:layout_height="24dp" android:layout_below="@android:id/title" android:layout_marginTop="8dp" android:src="@drawable/ic_corp"/> <TextView android:id="@+id/managed_by_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_below="@android:id/title" android:layout_marginTop="8dp" android:layout_toEndOf="@android:id/icon" android:ellipsize="end" android:gravity="center_vertical" android:lines="1" android:paddingLeft="12dp" android:minHeight="24dp" android:paddingStart="12dp" android:textColor="?android:attr/textColorHint" android:textSize="13sp"/> </LinearLayout> </LinearLayout> No newline at end of file </com.android.launcher3.views.WorkModeToggleContainer> No newline at end of file
src/com/android/launcher3/views/WorkModeToggleContainer.java 0 → 100644 +59 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 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. */ package com.android.launcher3.views; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.RelativeLayout; /** * Container to show work mode toggle in all-apps */ public class WorkModeToggleContainer extends RelativeLayout { public WorkModeToggleContainer(Context context) { super(context); } public WorkModeToggleContainer(Context context, AttributeSet attrs) { super(context, attrs); } public WorkModeToggleContainer(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); updateTranslation(); } @Override public void offsetTopAndBottom(int offset) { super.offsetTopAndBottom(offset); updateTranslation(); } private void updateTranslation() { if (getParent() instanceof View) { View parent = (View) getParent(); int availableBot = parent.getHeight() - parent.getPaddingBottom(); setTranslationY(Math.max(0, availableBot - getBottom())); } } }