Merge "Remove owner and logout views from KeyguardStatusView" into sc-dev
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
index 7f645ba..31d848d 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
@@ -35,43 +35,11 @@
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical">
- <TextView
- android:id="@+id/logout"
- android:layout_height="@dimen/logout_button_layout_height"
- android:layout_width="wrap_content"
- android:layout_gravity="center_horizontal"
- android:layout_centerHorizontal="true"
- android:layout_marginBottom="@dimen/logout_button_margin_bottom"
- android:gravity="center"
- android:paddingLeft="@dimen/logout_button_padding_horizontal"
- android:paddingRight="@dimen/logout_button_padding_horizontal"
- android:background="@drawable/logout_button_background"
- android:fontFamily="@*android:string/config_bodyFontFamilyMedium"
- android:textAllCaps="true"
- android:textColor="?android:attr/textColorPrimary"
- android:textSize="13sp"
- android:text="@*android:string/global_action_logout" />
-
<include
layout="@layout/keyguard_clock_switch"
android:id="@+id/keyguard_clock_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
-
- <TextView
- android:id="@+id/owner_info"
- android:layout_marginLeft="16dp"
- android:layout_marginRight="16dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/date_owner_info_margin"
- android:layout_gravity="center_horizontal"
- android:layout_centerHorizontal="true"
- android:textColor="?attr/wallpaperTextColorSecondary"
- android:textSize="@dimen/widget_label_font_size"
- android:letterSpacing="0.05"
- android:ellipsize="marquee"
- android:singleLine="true" />
<FrameLayout
android:id="@+id/status_view_media_container"
android:layout_width="wrap_content"
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
index 96eda3d..2362a1a 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
@@ -20,17 +20,10 @@
import android.app.IActivityManager;
import android.content.Context;
import android.graphics.Color;
-import android.os.Handler;
-import android.os.RemoteException;
-import android.os.UserHandle;
-import android.text.TextUtils;
import android.util.AttributeSet;
-import android.util.Log;
-import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridLayout;
-import android.widget.TextView;
import androidx.core.graphics.ColorUtils;
@@ -45,26 +38,18 @@
/**
* View consisting of:
* - keyguard clock
- * - logout button (on certain managed devices)
- * - owner information (if set)
* - media player (split shade mode only)
*/
public class KeyguardStatusView extends GridLayout {
private static final boolean DEBUG = KeyguardConstants.DEBUG;
private static final String TAG = "KeyguardStatusView";
- private static final int MARQUEE_DELAY_MS = 2000;
private final LockPatternUtils mLockPatternUtils;
private final IActivityManager mIActivityManager;
private ViewGroup mStatusViewContainer;
- private TextView mLogoutView;
private KeyguardClockSwitch mClockView;
- private TextView mOwnerInfo;
- private boolean mCanShowOwnerInfo = true; // by default, try to show the owner information here
private KeyguardSliceView mKeyguardSlice;
- private Runnable mPendingMarqueeStart;
- private Handler mHandler;
private View mMediaHostContainer;
private float mDarkAmount = 0;
@@ -91,64 +76,17 @@
super(context, attrs, defStyle);
mIActivityManager = ActivityManager.getService();
mLockPatternUtils = new LockPatternUtils(getContext());
- mHandler = new Handler();
- onDensityOrFontScaleChanged();
- }
-
- void setEnableMarquee(boolean enabled) {
- if (DEBUG) Log.v(TAG, "Schedule setEnableMarquee: " + (enabled ? "Enable" : "Disable"));
- if (enabled) {
- if (mPendingMarqueeStart == null) {
- mPendingMarqueeStart = () -> {
- setEnableMarqueeImpl(true);
- mPendingMarqueeStart = null;
- };
- mHandler.postDelayed(mPendingMarqueeStart, MARQUEE_DELAY_MS);
- }
- } else {
- if (mPendingMarqueeStart != null) {
- mHandler.removeCallbacks(mPendingMarqueeStart);
- mPendingMarqueeStart = null;
- }
- setEnableMarqueeImpl(false);
- }
- }
-
- private void setEnableMarqueeImpl(boolean enabled) {
- if (DEBUG) Log.v(TAG, (enabled ? "Enable" : "Disable") + " transport text marquee");
- if (mOwnerInfo != null) mOwnerInfo.setSelected(enabled);
- }
-
- void setCanShowOwnerInfo(boolean canShowOwnerInfo) {
- mCanShowOwnerInfo = canShowOwnerInfo;
- mOwnerInfo = findViewById(R.id.owner_info);
- if (mOwnerInfo != null) {
- if (mCanShowOwnerInfo) {
- mOwnerInfo.setVisibility(VISIBLE);
- updateOwnerInfo();
- } else {
- mOwnerInfo.setVisibility(GONE);
- mOwnerInfo = null;
- }
- }
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mStatusViewContainer = findViewById(R.id.status_view_container);
- mLogoutView = findViewById(R.id.logout);
- if (mLogoutView != null) {
- mLogoutView.setOnClickListener(this::onLogoutClicked);
- }
mClockView = findViewById(R.id.keyguard_clock_container);
if (KeyguardClockAccessibilityDelegate.isNeeded(mContext)) {
mClockView.setAccessibilityDelegate(new KeyguardClockAccessibilityDelegate(mContext));
}
- if (mCanShowOwnerInfo) {
- mOwnerInfo = findViewById(R.id.owner_info);
- }
mKeyguardSlice = findViewById(R.id.keyguard_status_area);
mTextColor = mClockView.getCurrentTextColor();
@@ -158,7 +96,6 @@
mMediaHostContainer = findViewById(R.id.status_view_media_container);
- updateOwnerInfo();
updateDark();
}
@@ -173,60 +110,6 @@
mShowingHeader = hasHeader;
}
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
- layoutOwnerInfo();
- }
-
- int getLogoutButtonHeight() {
- if (mLogoutView == null) {
- return 0;
- }
- return mLogoutView.getVisibility() == VISIBLE ? mLogoutView.getHeight() : 0;
- }
-
- int getOwnerInfoHeight() {
- if (mOwnerInfo == null) {
- return 0;
- }
- return mOwnerInfo.getVisibility() == VISIBLE ? mOwnerInfo.getHeight() : 0;
- }
-
- void updateLogoutView(boolean shouldShowLogout) {
- if (mLogoutView == null) {
- return;
- }
- mLogoutView.setVisibility(shouldShowLogout ? VISIBLE : GONE);
- // Logout button will stay in language of user 0 if we don't set that manually.
- mLogoutView.setText(mContext.getResources().getString(
- com.android.internal.R.string.global_action_logout));
- }
-
- void onDensityOrFontScaleChanged() {
- if (mOwnerInfo != null) {
- mOwnerInfo.setTextSize(TypedValue.COMPLEX_UNIT_PX,
- getResources().getDimensionPixelSize(
- com.android.systemui.R.dimen.widget_label_font_size));
- loadBottomMargin();
- }
- }
-
- void updateOwnerInfo() {
- if (mOwnerInfo == null) return;
- String info = mLockPatternUtils.getDeviceOwnerInfo();
- if (info == null) {
- // Use the current user owner information if enabled.
- final boolean ownerInfoEnabled = mLockPatternUtils.isOwnerInfoEnabled(
- KeyguardUpdateMonitor.getCurrentUser());
- if (ownerInfoEnabled) {
- info = mLockPatternUtils.getOwnerInfo(KeyguardUpdateMonitor.getCurrentUser());
- }
- }
- mOwnerInfo.setText(info);
- updateDark();
- }
-
void setDarkAmount(float darkAmount) {
if (mDarkAmount == darkAmount) {
return;
@@ -238,17 +121,6 @@
}
void updateDark() {
- boolean dark = mDarkAmount == 1;
- if (mLogoutView != null) {
- mLogoutView.setAlpha(dark ? 0 : 1);
- }
-
- if (mOwnerInfo != null) {
- boolean hasText = !TextUtils.isEmpty(mOwnerInfo.getText());
- mOwnerInfo.setVisibility(hasText ? VISIBLE : GONE);
- layoutOwnerInfo();
- }
-
final int blendedTextColor = ColorUtils.blendARGB(mTextColor, Color.WHITE, mDarkAmount);
mKeyguardSlice.setDarkAmount(mDarkAmount);
mClockView.setTextColor(blendedTextColor);
@@ -277,13 +149,8 @@
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("KeyguardStatusView:");
- pw.println(" mOwnerInfo: " + (mOwnerInfo == null
- ? "null" : mOwnerInfo.getVisibility() == VISIBLE));
pw.println(" mDarkAmount: " + mDarkAmount);
pw.println(" mTextColor: " + Integer.toHexString(mTextColor));
- if (mLogoutView != null) {
- pw.println(" logout visible: " + (mLogoutView.getVisibility() == VISIBLE));
- }
if (mClockView != null) {
mClockView.dump(fd, pw, args);
}
@@ -297,28 +164,4 @@
mIconTopMarginWithHeader = getResources().getDimensionPixelSize(
R.dimen.widget_vertical_padding_with_header);
}
-
- private void layoutOwnerInfo() {
- if (mOwnerInfo != null && mOwnerInfo.getVisibility() != GONE) {
- // Animate owner info during wake-up transition
- mOwnerInfo.setAlpha(1f - mDarkAmount);
-
- float ratio = mDarkAmount;
- // Calculate how much of it we should crop in order to have a smooth transition
- int collapsed = mOwnerInfo.getTop() - mOwnerInfo.getPaddingTop();
- int expanded = mOwnerInfo.getBottom() + mOwnerInfo.getPaddingBottom();
- int toRemove = (int) ((expanded - collapsed) * ratio);
- setBottom(getMeasuredHeight() - toRemove);
- }
- }
-
- private void onLogoutClicked(View view) {
- int currentUserId = KeyguardUpdateMonitor.getCurrentUser();
- try {
- mIActivityManager.switchUser(UserHandle.USER_SYSTEM);
- mIActivityManager.stopUser(currentUserId, true /*force*/, null);
- } catch (RemoteException re) {
- Log.e(TAG, "Failed to logout user", re);
- }
- }
}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
index e4cabcb..32935c2 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
@@ -17,7 +17,6 @@
package com.android.keyguard;
import android.graphics.Rect;
-import android.os.UserHandle;
import android.util.Slog;
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
@@ -97,8 +96,6 @@
@Override
public void onInit() {
mKeyguardClockSwitchController.init();
- mView.setEnableMarquee(mKeyguardUpdateMonitor.isDeviceInteractive());
- mView.updateLogoutView(shouldShowLogout());
}
@Override
@@ -143,20 +140,6 @@
}
/**
- * Get the height of the logout button.
- */
- public int getLogoutButtonHeight() {
- return mView.getLogoutButtonHeight();
- }
-
- /**
- * Get the height of the owner information view.
- */
- public int getOwnerInfoHeight() {
- return mView.getOwnerInfoHeight();
- }
-
- /**
* Set keyguard status view alpha.
*/
public void setAlpha(float alpha) {
@@ -254,11 +237,6 @@
mKeyguardClockSwitchController.refresh();
}
- private boolean shouldShowLogout() {
- return mKeyguardUpdateMonitor.isLogoutEnabled()
- && KeyguardUpdateMonitor.getCurrentUser() != UserHandle.USER_SYSTEM;
- }
-
private final ConfigurationController.ConfigurationListener mConfigurationListener =
new ConfigurationController.ConfigurationListener() {
@Override
@@ -269,7 +247,6 @@
@Override
public void onDensityOrFontScaleChanged() {
mKeyguardClockSwitchController.onDensityOrFontScaleChanged();
- mView.onDensityOrFontScaleChanged();
}
};
@@ -277,8 +254,6 @@
@Override
public void onLockScreenModeChanged(int mode) {
mKeyguardSliceViewController.updateLockScreenMode(mode);
- mView.setCanShowOwnerInfo(false);
- mView.updateLogoutView(false);
}
@Override
@@ -301,31 +276,12 @@
if (showing) {
if (DEBUG) Slog.v(TAG, "refresh statusview showing:" + showing);
refreshTime();
- mView.updateOwnerInfo();
- mView.updateLogoutView(shouldShowLogout());
}
}
@Override
- public void onStartedWakingUp() {
- mView.setEnableMarquee(true);
- }
-
- @Override
- public void onFinishedGoingToSleep(int why) {
- mView.setEnableMarquee(false);
- }
-
- @Override
public void onUserSwitchComplete(int userId) {
mKeyguardClockSwitchController.refreshFormat();
- mView.updateOwnerInfo();
- mView.updateLogoutView(shouldShowLogout());
- }
-
- @Override
- public void onLogoutEnabledChanged() {
- mView.updateLogoutView(shouldShowLogout());
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 9c5f95a..5ebcd61 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -1322,8 +1322,7 @@
mNotificationStackScrollLayoutController.getHeight()
- minPadding
- shelfSize
- - bottomPadding
- - mKeyguardStatusViewController.getLogoutButtonHeight();
+ - bottomPadding;
int count = 0;
ExpandableView previousView = null;