Make KeyguardPresentation inherit Theme.SystemUI
Theme.SystemUI has some attrs that aren't present on Theme.Material and SysUI views are expected to use them. Fixes: 133597861 Test: cast to secondary screen, go to keyguard Test: atest KeyguardPresentationTest Change-Id: I756dfc6db73090a6ebe1db4b1cd1bc775b6c47c2
This commit is contained in:
@@ -103,9 +103,12 @@
|
||||
<item name="android:colorControlActivated">?attr/wallpaperTextColor</item>
|
||||
</style>
|
||||
|
||||
<style name="keyguard_presentation_theme" parent="@android:style/Theme.Material.NoActionBar.Fullscreen">
|
||||
<item name="wallpaperTextColor">@*android:color/primary_text_material_dark</item>
|
||||
<item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_dark</item>
|
||||
<style name="Theme.SystemUI.KeyguardPresentation">
|
||||
<item name="android:windowActionBar">false</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowFullscreen">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:colorBackground">@*android:color/background_material_dark</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.Keyguard" parent="Theme.SystemUI">
|
||||
|
||||
@@ -33,6 +33,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.phone.NavigationBarView;
|
||||
@@ -234,7 +235,8 @@ public class KeyguardDisplayManager {
|
||||
|
||||
}
|
||||
|
||||
private final static class KeyguardPresentation extends Presentation {
|
||||
@VisibleForTesting
|
||||
static final class KeyguardPresentation extends Presentation {
|
||||
private static final int VIDEO_SAFE_REGION = 80; // Percentage of display width & height
|
||||
private static final int MOVE_CLOCK_TIMEOUT = 10000; // 10s
|
||||
private final InjectionInflationController mInjectableInflater;
|
||||
@@ -256,7 +258,7 @@ public class KeyguardDisplayManager {
|
||||
|
||||
KeyguardPresentation(Context context, Display display,
|
||||
InjectionInflationController injectionInflater) {
|
||||
super(context, display, R.style.keyguard_presentation_theme);
|
||||
super(context, display, R.style.Theme_SystemUI_KeyguardPresentation);
|
||||
mInjectableInflater = injectionInflater;
|
||||
getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||
setCancelable(false);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018 The Android Open Source Project
|
||||
* Copyright (C) 2019 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.
|
||||
@@ -11,18 +11,18 @@
|
||||
* 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
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.statusbar.phone;
|
||||
package com.android.keyguard;
|
||||
|
||||
import android.content.Context;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.keyguard.KeyguardDisplayManager.KeyguardPresentation;
|
||||
import com.android.systemui.SystemUIFactory;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
@@ -39,8 +39,9 @@ public class KeyguardPresentationTest extends SysuiTestCase {
|
||||
com.android.systemui.util.Assert.sMainLooper = TestableLooper.get(this).getLooper();
|
||||
InjectionInflationController inflationController = new InjectionInflationController(
|
||||
SystemUIFactory.getInstance().getRootComponent());
|
||||
LayoutInflater inflater = inflationController
|
||||
.injectable(LayoutInflater.from(getContext()));
|
||||
inflater.inflate(R.layout.keyguard_presentation, null);
|
||||
Context context = getContext();
|
||||
KeyguardPresentation keyguardPresentation =
|
||||
new KeyguardPresentation(context, context.getDisplay(), inflationController);
|
||||
keyguardPresentation.onCreate(null /*savedInstanceState */);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user