Add dump info for biometrics auth dialog

Add dump info under AuthController for dumpsys command
adb shell dumpsys activity service com.android.systemui

Bug: 232723342
Test: atest AuthContainerViewTest AuthControllerTest
Change-Id: I4fdeaf0c47f4e3bb6ca381b7c295dddcce8900a9
This commit is contained in:
Milton Wu
2022-05-26 17:38:02 +08:00
parent 1f9957c76c
commit d86cbcc906
3 changed files with 52 additions and 1 deletions

View File

@@ -61,6 +61,7 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.util.concurrency.DelayableExecutor;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.HashSet;
@@ -739,4 +740,36 @@ public class AuthContainerView extends LinearLayout
lp.token = windowToken;
return lp;
}
@Override
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
pw.println(" isAttachedToWindow=" + isAttachedToWindow());
pw.println(" containerState=" + mContainerState);
pw.println(" pendingCallbackReason=" + mPendingCallbackReason);
pw.println(" config exist=" + (mConfig != null));
if (mConfig != null) {
pw.println(" config.sensorIds exist=" + (mConfig.mSensorIds != null));
}
final AuthBiometricView biometricView = mBiometricView;
pw.println(" scrollView=" + findViewById(R.id.biometric_scrollview));
pw.println(" biometricView=" + biometricView);
if (biometricView != null) {
int[] ids = {
R.id.title,
R.id.subtitle,
R.id.description,
R.id.biometric_icon_frame,
R.id.biometric_icon,
R.id.indicator,
R.id.button_bar,
R.id.button_negative,
R.id.button_use_credential,
R.id.button_confirm,
R.id.button_try_again
};
for (final int id: ids) {
pw.println(" " + biometricView.findViewById(id));
}
}
}
}

View File

@@ -75,6 +75,7 @@ import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.concurrency.Execution;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@@ -1044,6 +1045,21 @@ public class AuthController extends CoreStartable implements CommandQueue.Callba
userManager, lockPatternUtils);
}
@Override
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
final AuthDialog dialog = mCurrentDialog;
pw.println(" stableDisplaySize=" + mStableDisplaySize);
pw.println(" faceAuthSensorLocation=" + mFaceAuthSensorLocation);
pw.println(" fingerprintLocation=" + mFingerprintLocation);
pw.println(" udfpsBounds=" + mUdfpsBounds);
pw.println(" allFingerprintAuthenticatorsRegistered="
+ mAllFingerprintAuthenticatorsRegistered);
pw.println(" currentDialog=" + dialog);
if (dialog != null) {
dialog.dump(pw, args);
}
}
/**
* Provides a float that represents the resolution scale(if the controller is for UDFPS).
*/

View File

@@ -23,13 +23,15 @@ import android.hardware.biometrics.BiometricAuthenticator.Modality;
import android.os.Bundle;
import android.view.WindowManager;
import com.android.systemui.Dumpable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Interface for the biometric dialog UI.
*/
public interface AuthDialog {
public interface AuthDialog extends Dumpable {
String KEY_CONTAINER_GOING_AWAY = "container_going_away";
String KEY_BIOMETRIC_SHOWING = "biometric_showing";