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:
@@ -25,6 +25,7 @@ import android.animation.AnimatorSet;
|
|||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.animation.ValueAnimator;
|
import android.animation.ValueAnimator;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -39,10 +40,10 @@ import android.widget.ImageView;
|
|||||||
|
|
||||||
import androidx.activity.OnBackPressedCallback;
|
import androidx.activity.OnBackPressedCallback;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.navigation.fragment.NavHostFragment;
|
import androidx.navigation.fragment.NavHostFragment;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
@@ -52,7 +53,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/** Fragment to show screens that auto advance during private space setup flow */
|
/** 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 TAG = "AutoAdvanceFragment";
|
||||||
private static final String TITLE_INDEX = "title_index";
|
private static final String TITLE_INDEX = "title_index";
|
||||||
private static final int DELAY_BETWEEN_SCREENS = 5000; // 5 seconds in millis
|
private static final int DELAY_BETWEEN_SCREENS = 5000; // 5 seconds in millis
|
||||||
@@ -78,13 +79,24 @@ public class AutoAdvanceSetupFragment extends Fragment {
|
|||||||
startFadeOutAnimation();
|
startFadeOutAnimation();
|
||||||
mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
|
mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
|
||||||
} else {
|
} else {
|
||||||
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer
|
PrivateSpaceMaintainer privateSpaceMaintainer =
|
||||||
.getInstance(getActivity());
|
PrivateSpaceMaintainer.getInstance(getActivity());
|
||||||
UserHandle userHandle;
|
UserHandle userHandle;
|
||||||
if (privateSpaceMaintainer.doesPrivateSpaceExist() && (userHandle =
|
if (privateSpaceMaintainer.doesPrivateSpaceExist()
|
||||||
privateSpaceMaintainer.getPrivateProfileHandle()) != null) {
|
&& (userHandle =
|
||||||
|
privateSpaceMaintainer
|
||||||
|
.getPrivateProfileHandle())
|
||||||
|
!= null) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(),
|
||||||
|
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
|
||||||
|
true);
|
||||||
startActivityInPrivateUser(userHandle);
|
startActivityInPrivateUser(userHandle);
|
||||||
} else {
|
} else {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(),
|
||||||
|
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
|
||||||
|
false);
|
||||||
showPrivateSpaceErrorScreen();
|
showPrivateSpaceErrorScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -144,6 +156,11 @@ public class AutoAdvanceSetupFragment extends Fragment {
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION;
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressLint("MissingPermission")
|
@SuppressLint("MissingPermission")
|
||||||
private void startActivityInPrivateUser(UserHandle userHandle) {
|
private void startActivityInPrivateUser(UserHandle userHandle) {
|
||||||
/* Start new activity in private profile which is needed to set private profile lock */
|
/* Start new activity in private profile which is needed to set private profile lock */
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.privatespace;
|
package com.android.settings.privatespace;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -24,17 +25,17 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.activity.OnBackPressedCallback;
|
import androidx.activity.OnBackPressedCallback;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.navigation.fragment.NavHostFragment;
|
import androidx.navigation.fragment.NavHostFragment;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
|
|
||||||
/** Fragment to display error screen if creation of private profile failed for any reason. */
|
/** Fragment to display error screen if creation of private profile failed for any reason. */
|
||||||
public class PrivateProfileCreationError extends Fragment {
|
public class PrivateProfileCreationError extends InstrumentedFragment {
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
LayoutInflater inflater,
|
LayoutInflater inflater,
|
||||||
@@ -73,10 +74,17 @@ public class PrivateProfileCreationError extends Fragment {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
private View.OnClickListener onTryAgain() {
|
private View.OnClickListener onTryAgain() {
|
||||||
return v -> {
|
return v -> {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_TRY_CREATE_SPACE_AGAIN);
|
||||||
NavHostFragment.findNavController(PrivateProfileCreationError.this)
|
NavHostFragment.findNavController(PrivateProfileCreationError.this)
|
||||||
.navigate(R.id.action_retry_profile_creation);
|
.navigate(R.id.action_retry_profile_creation);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,6 +92,8 @@ public class PrivateProfileCreationError extends Fragment {
|
|||||||
return v -> {
|
return v -> {
|
||||||
Activity activity = getActivity();
|
Activity activity = getActivity();
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_CANCEL_CREATE_SPACE);
|
||||||
activity.finish();
|
activity.finish();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -20,6 +20,7 @@ import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUN
|
|||||||
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
|
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -29,16 +30,16 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.activity.OnBackPressedCallback;
|
import androidx.activity.OnBackPressedCallback;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
|
|
||||||
/** Fragment to display error screen if the profile is not signed in with a Google account. */
|
/** Fragment to display error screen if the profile is not signed in with a Google account. */
|
||||||
public class PrivateSpaceAccountLoginError extends Fragment {
|
public class PrivateSpaceAccountLoginError extends InstrumentedFragment {
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
LayoutInflater inflater,
|
LayoutInflater inflater,
|
||||||
@@ -67,18 +68,26 @@ public class PrivateSpaceAccountLoginError extends Fragment {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressLint("MissingPermission")
|
@SuppressLint("MissingPermission")
|
||||||
private View.OnClickListener nextScreen() {
|
private View.OnClickListener nextScreen() {
|
||||||
return v -> {
|
return v -> {
|
||||||
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer
|
mMetricsFeatureProvider.action(
|
||||||
.getInstance(getActivity());
|
getContext(),
|
||||||
|
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_TRY_CREATE_ACCOUNT_AGAIN);
|
||||||
|
PrivateSpaceMaintainer privateSpaceMaintainer =
|
||||||
|
PrivateSpaceMaintainer.getInstance(getActivity());
|
||||||
UserHandle userHandle;
|
UserHandle userHandle;
|
||||||
if (privateSpaceMaintainer.doesPrivateSpaceExist() && (userHandle =
|
if (privateSpaceMaintainer.doesPrivateSpaceExist()
|
||||||
privateSpaceMaintainer.getPrivateProfileHandle()) != null) {
|
&& (userHandle = privateSpaceMaintainer.getPrivateProfileHandle()) != null) {
|
||||||
Intent intent = new Intent(getContext(), PrivateProfileContextHelperActivity.class);
|
Intent intent = new Intent(getContext(), PrivateProfileContextHelperActivity.class);
|
||||||
intent.putExtra(EXTRA_ACTION_TYPE, ACCOUNT_LOGIN_ACTION);
|
intent.putExtra(EXTRA_ACTION_TYPE, ACCOUNT_LOGIN_ACTION);
|
||||||
getActivity().startActivityForResultAsUser(intent, ACCOUNT_LOGIN_ACTION,
|
getActivity()
|
||||||
userHandle);
|
.startActivityForResultAsUser(intent, ACCOUNT_LOGIN_ACTION, userHandle);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -17,23 +17,25 @@
|
|||||||
package com.android.settings.privatespace;
|
package com.android.settings.privatespace;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.navigation.fragment.NavHostFragment;
|
import androidx.navigation.fragment.NavHostFragment;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
|
|
||||||
/** Fragment educating about the usage of Private Space. */
|
/** Fragment educating about the usage of Private Space. */
|
||||||
public class PrivateSpaceEducation extends Fragment {
|
public class PrivateSpaceEducation extends InstrumentedFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
LayoutInflater inflater,
|
LayoutInflater inflater,
|
||||||
@@ -66,11 +68,17 @@ public class PrivateSpaceEducation extends Fragment {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_EDUCATION;
|
||||||
|
}
|
||||||
|
|
||||||
private View.OnClickListener onSetup() {
|
private View.OnClickListener onSetup() {
|
||||||
return v -> {
|
return v -> {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_START);
|
||||||
NavHostFragment.findNavController(PrivateSpaceEducation.this)
|
NavHostFragment.findNavController(PrivateSpaceEducation.this)
|
||||||
.navigate(R.id.action_education_to_auto_advance);
|
.navigate(R.id.action_education_to_auto_advance);
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,6 +86,8 @@ public class PrivateSpaceEducation extends Fragment {
|
|||||||
return v -> {
|
return v -> {
|
||||||
Activity activity = getActivity();
|
Activity activity = getActivity();
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_CANCEL);
|
||||||
activity.finish();
|
activity.finish();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -20,6 +20,7 @@ import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_
|
|||||||
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
|
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -29,18 +30,20 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.activity.OnBackPressedCallback;
|
import androidx.activity.OnBackPressedCallback;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.navigation.fragment.NavHostFragment;
|
import androidx.navigation.fragment.NavHostFragment;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
|
|
||||||
/** Fragment that provides an option to user to choose between the existing screen lock or set a
|
/**
|
||||||
* separate private profile lock. */
|
* Fragment that provides an option to user to choose between the existing screen lock or set a
|
||||||
public class PrivateSpaceSetLockFragment extends Fragment {
|
* separate private profile lock.
|
||||||
|
*/
|
||||||
|
public class PrivateSpaceSetLockFragment extends InstrumentedFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(
|
public View onCreateView(
|
||||||
@@ -83,8 +86,15 @@ public class PrivateSpaceSetLockFragment extends Fragment {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_LOCK;
|
||||||
|
}
|
||||||
|
|
||||||
private View.OnClickListener onClickUse() {
|
private View.OnClickListener onClickUse() {
|
||||||
return v -> {
|
return v -> {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_USE_SCREEN_LOCK);
|
||||||
// Simply Use default screen lock. No need to handle
|
// Simply Use default screen lock. No need to handle
|
||||||
NavHostFragment.findNavController(PrivateSpaceSetLockFragment.this)
|
NavHostFragment.findNavController(PrivateSpaceSetLockFragment.this)
|
||||||
.navigate(R.id.action_success_fragment);
|
.navigate(R.id.action_success_fragment);
|
||||||
@@ -93,6 +103,8 @@ public class PrivateSpaceSetLockFragment extends Fragment {
|
|||||||
|
|
||||||
private View.OnClickListener onClickNewLock() {
|
private View.OnClickListener onClickNewLock() {
|
||||||
return v -> {
|
return v -> {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_NEW_LOCK);
|
||||||
createPrivateSpaceLock();
|
createPrivateSpaceLock();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.privatespace;
|
package com.android.settings.privatespace;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
@@ -25,6 +26,8 @@ import androidx.navigation.fragment.NavHostFragment;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SetupWizardUtils;
|
import com.android.settings.SetupWizardUtils;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
import com.google.android.setupdesign.util.ThemeHelper;
|
import com.google.android.setupdesign.util.ThemeHelper;
|
||||||
|
|
||||||
@@ -34,6 +37,8 @@ public class PrivateSpaceSetupActivity extends FragmentActivity {
|
|||||||
public static final int ACCOUNT_LOGIN_ACTION = 2;
|
public static final int ACCOUNT_LOGIN_ACTION = 2;
|
||||||
public static final String EXTRA_ACTION_TYPE = "action_type";
|
public static final String EXTRA_ACTION_TYPE = "action_type";
|
||||||
private NavHostFragment mNavHostFragment;
|
private NavHostFragment mNavHostFragment;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
if (!android.os.Flags.allowPrivateProfile()) {
|
if (!android.os.Flags.allowPrivateProfile()) {
|
||||||
@@ -42,6 +47,7 @@ public class PrivateSpaceSetupActivity extends FragmentActivity {
|
|||||||
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
|
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
|
||||||
ThemeHelper.trySetDynamicColor(this);
|
ThemeHelper.trySetDynamicColor(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
|
||||||
setContentView(R.layout.privatespace_setup_root);
|
setContentView(R.layout.privatespace_setup_root);
|
||||||
mNavHostFragment = (NavHostFragment) getSupportFragmentManager()
|
mNavHostFragment = (NavHostFragment) getSupportFragmentManager()
|
||||||
.findFragmentById(R.id.ps_nav_host_fragment);
|
.findFragmentById(R.id.ps_nav_host_fragment);
|
||||||
@@ -54,8 +60,14 @@ public class PrivateSpaceSetupActivity extends FragmentActivity {
|
|||||||
mNavHostFragment.getNavController().navigate(R.id.action_success_fragment);
|
mNavHostFragment.getNavController().navigate(R.id.action_success_fragment);
|
||||||
} else if (requestCode == ACCOUNT_LOGIN_ACTION) {
|
} else if (requestCode == ACCOUNT_LOGIN_ACTION) {
|
||||||
if (resultCode == RESULT_OK) {
|
if (resultCode == RESULT_OK) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
this, SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_SUCCESS, true);
|
||||||
mNavHostFragment.getNavController().navigate(R.id.action_set_lock_fragment);
|
mNavHostFragment.getNavController().navigate(R.id.action_set_lock_fragment);
|
||||||
} else {
|
} else {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
this,
|
||||||
|
SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_SUCCESS,
|
||||||
|
false);
|
||||||
mNavHostFragment.getNavController().navigate(R.id.action_advance_login_error);
|
mNavHostFragment.getNavController().navigate(R.id.action_advance_login_error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.privatespace;
|
package com.android.settings.privatespace;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
@@ -28,16 +29,16 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.activity.OnBackPressedCallback;
|
import androidx.activity.OnBackPressedCallback;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
|
|
||||||
/** Fragment for the final screen shown on successful completion of private space setup. */
|
/** Fragment for the final screen shown on successful completion of private space setup. */
|
||||||
public class SetupSuccessFragment extends Fragment {
|
public class SetupSuccessFragment extends InstrumentedFragment {
|
||||||
private static final String TAG = "SetupSuccessFragment";
|
private static final String TAG = "SetupSuccessFragment";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -72,14 +73,25 @@ public class SetupSuccessFragment extends Fragment {
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetricsCategory() {
|
||||||
|
return SettingsEnums.PRIVATE_SPACE_SETUP_FINISH;
|
||||||
|
}
|
||||||
|
|
||||||
private View.OnClickListener onClickNext() {
|
private View.OnClickListener onClickNext() {
|
||||||
return v -> {
|
return v -> {
|
||||||
Activity activity = getActivity();
|
Activity activity = getActivity();
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_DONE);
|
||||||
Intent allAppsIntent = new Intent(Intent.ACTION_ALL_APPS);
|
Intent allAppsIntent = new Intent(Intent.ACTION_ALL_APPS);
|
||||||
ResolveInfo resolveInfo = activity.getPackageManager().resolveActivityAsUser(
|
ResolveInfo resolveInfo =
|
||||||
new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),
|
activity.getPackageManager()
|
||||||
PackageManager.MATCH_SYSTEM_ONLY, activity.getUserId());
|
.resolveActivityAsUser(
|
||||||
|
new Intent(Intent.ACTION_MAIN)
|
||||||
|
.addCategory(Intent.CATEGORY_HOME),
|
||||||
|
PackageManager.MATCH_SYSTEM_ONLY,
|
||||||
|
activity.getUserId());
|
||||||
if (resolveInfo != null) {
|
if (resolveInfo != null) {
|
||||||
allAppsIntent.setPackage(resolveInfo.activityInfo.packageName);
|
allAppsIntent.setPackage(resolveInfo.activityInfo.packageName);
|
||||||
allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName());
|
allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName());
|
||||||
|
Reference in New Issue
Block a user