Merge "Set secure window flag for AuthContainerView"
This commit is contained in:
committed by
Android (Google) Code Review
commit
929de64796
@@ -583,11 +583,13 @@ public class AuthContainerView extends LinearLayout
|
||||
* @return
|
||||
*/
|
||||
public static WindowManager.LayoutParams getLayoutParams(IBinder windowToken) {
|
||||
final int windowFlags = WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
|
||||
| WindowManager.LayoutParams.FLAG_SECURE;
|
||||
final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
|
||||
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
|
||||
windowFlags,
|
||||
PixelFormat.TRANSLUCENT);
|
||||
lp.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
|
||||
lp.setTitle("BiometricPrompt");
|
||||
|
||||
@@ -36,6 +36,7 @@ import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricAuthenticator;
|
||||
import android.hardware.biometrics.BiometricPrompt;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.os.UserManager;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -43,6 +44,7 @@ import android.testing.TestableLooper.RunWithLooper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ScrollView;
|
||||
@@ -175,6 +177,14 @@ public class AuthContainerViewTest extends SysuiTestCase {
|
||||
assertEquals(Utils.CREDENTIAL_PATTERN, mAuthContainer.mCredentialView.mCredentialType);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLayoutParams_hasSecureWindowFlag() {
|
||||
final IBinder windowToken = mock(IBinder.class);
|
||||
final WindowManager.LayoutParams layoutParams =
|
||||
AuthContainerView.getLayoutParams(windowToken);
|
||||
assertTrue((layoutParams.flags & WindowManager.LayoutParams.FLAG_SECURE) != 0);
|
||||
}
|
||||
|
||||
private void initializeContainer(int authenticators) {
|
||||
AuthContainerView.Config config = new AuthContainerView.Config();
|
||||
config.mContext = mContext;
|
||||
|
||||
Reference in New Issue
Block a user