am 3581f4c9: Merge "Avoid crashing on startup when policy forbids lockscreen camera." into lmp-mr1-dev
* commit '3581f4c91a77ecb9313f51a2d07ed88ff61d9299': Avoid crashing on startup when policy forbids lockscreen camera.
This commit is contained in:
@@ -59,6 +59,7 @@ import android.service.notification.NotificationListenerService.RankingMap;
|
|||||||
import android.service.notification.StatusBarNotification;
|
import android.service.notification.StatusBarNotification;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.util.Slog;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
@@ -2175,6 +2176,14 @@ public abstract class BaseStatusBar extends SystemUI implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isKeyguardSecure() {
|
public boolean isKeyguardSecure() {
|
||||||
|
if (mStatusBarKeyguardViewManager == null) {
|
||||||
|
// startKeyguard() hasn't been called yet, so we don't know.
|
||||||
|
// Make sure anything that needs to know isKeyguardSecure() checks and re-checks this
|
||||||
|
// value onVisibilityChanged().
|
||||||
|
Slog.w(TAG, "isKeyguardSecure() called before startKeyguard(), returning false",
|
||||||
|
new Throwable());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return mStatusBarKeyguardViewManager.isSecure();
|
return mStatusBarKeyguardViewManager.isSecure();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -220,6 +220,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
|
|
||||||
public void setPhoneStatusBar(PhoneStatusBar phoneStatusBar) {
|
public void setPhoneStatusBar(PhoneStatusBar phoneStatusBar) {
|
||||||
mPhoneStatusBar = phoneStatusBar;
|
mPhoneStatusBar = phoneStatusBar;
|
||||||
|
updateCameraVisibility(); // in case onFinishInflate() was called too early
|
||||||
}
|
}
|
||||||
|
|
||||||
private Intent getCameraIntent() {
|
private Intent getCameraIntent() {
|
||||||
@@ -231,6 +232,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateCameraVisibility() {
|
private void updateCameraVisibility() {
|
||||||
|
if (mCameraImageView == null) {
|
||||||
|
// Things are not set up yet; reply hazy, ask again later
|
||||||
|
return;
|
||||||
|
}
|
||||||
ResolveInfo resolved = mContext.getPackageManager().resolveActivityAsUser(getCameraIntent(),
|
ResolveInfo resolved = mContext.getPackageManager().resolveActivityAsUser(getCameraIntent(),
|
||||||
PackageManager.MATCH_DEFAULT_ONLY,
|
PackageManager.MATCH_DEFAULT_ONLY,
|
||||||
mLockPatternUtils.getCurrentUser());
|
mLockPatternUtils.getCurrentUser());
|
||||||
@@ -253,7 +258,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
private boolean isCameraDisabledByDpm() {
|
private boolean isCameraDisabledByDpm() {
|
||||||
final DevicePolicyManager dpm =
|
final DevicePolicyManager dpm =
|
||||||
(DevicePolicyManager) getContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
|
(DevicePolicyManager) getContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
if (dpm != null) {
|
if (dpm != null && mPhoneStatusBar != null) {
|
||||||
try {
|
try {
|
||||||
final int userId = ActivityManagerNative.getDefault().getCurrentUser().id;
|
final int userId = ActivityManagerNative.getDefault().getCurrentUser().id;
|
||||||
final int disabledFlags = dpm.getKeyguardDisabledFeatures(null, userId);
|
final int disabledFlags = dpm.getKeyguardDisabledFeatures(null, userId);
|
||||||
|
|||||||
Reference in New Issue
Block a user