Log events during PS setup flow.

Log pages and user clicks during private
space setup flow.

Bug: 313170618
Test: statd_testdrive 97, output: https://paste.googleplex.com/4874404496932864
Change-Id: I1f59e9720ee4bdd21670b86a4f1f0f98a91fa0db
This commit is contained in:
Anna Zhuravleva
2023-11-25 17:02:19 +00:00
parent 4b2a052628
commit b1fdd55707
7 changed files with 112 additions and 30 deletions

View File

@@ -25,6 +25,7 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
@@ -39,10 +40,10 @@ import android.widget.ImageView;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
import com.android.settings.R;
import com.android.settings.core.InstrumentedFragment;
import com.google.android.setupdesign.GlifLayout;
import com.google.common.collect.ImmutableList;
@@ -52,7 +53,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
/** Fragment to show screens that auto advance during private space setup flow */
public class AutoAdvanceSetupFragment extends Fragment {
public class AutoAdvanceSetupFragment extends InstrumentedFragment {
private static final String TAG = "AutoAdvanceFragment";
private static final String TITLE_INDEX = "title_index";
private static final int DELAY_BETWEEN_SCREENS = 5000; // 5 seconds in millis
@@ -78,13 +79,24 @@ public class AutoAdvanceSetupFragment extends Fragment {
startFadeOutAnimation();
mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
} else {
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer
.getInstance(getActivity());
PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(getActivity());
UserHandle userHandle;
if (privateSpaceMaintainer.doesPrivateSpaceExist() && (userHandle =
privateSpaceMaintainer.getPrivateProfileHandle()) != null) {
if (privateSpaceMaintainer.doesPrivateSpaceExist()
&& (userHandle =
privateSpaceMaintainer
.getPrivateProfileHandle())
!= null) {
mMetricsFeatureProvider.action(
getContext(),
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
true);
startActivityInPrivateUser(userHandle);
} else {
mMetricsFeatureProvider.action(
getContext(),
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
false);
showPrivateSpaceErrorScreen();
}
}
@@ -144,6 +156,11 @@ public class AutoAdvanceSetupFragment extends Fragment {
super.onDestroy();
}
@Override
public int getMetricsCategory() {
return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION;
}
@SuppressLint("MissingPermission")
private void startActivityInPrivateUser(UserHandle userHandle) {
/* Start new activity in private profile which is needed to set private profile lock */