import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.os.UserHandle;
-import androidx.preference.PreferenceFragment;
+import android.text.TextUtils;
+import android.util.Log;
+
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceClickListener;
+import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
-import android.text.TextUtils;
-import android.util.Log;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
private AuthenticatorHelper mAuthenticatorHelper;
private UserHandle mUserHandle;
- private PreferenceFragment mFragment;
+ private PreferenceFragmentCompat mFragment;
- public AccountTypePreferenceLoader(PreferenceFragment fragment,
+ public AccountTypePreferenceLoader(PreferenceFragmentCompat fragment,
AuthenticatorHelper authenticatorHelper, UserHandle userHandle) {
mFragment = fragment;
mAuthenticatorHelper = authenticatorHelper;
ActivityInfo resolvedActivityInfo = resolveInfo.activityInfo;
ApplicationInfo resolvedAppInfo = resolvedActivityInfo.applicationInfo;
try {
- if (resolvedActivityInfo.exported) {
- if (resolvedActivityInfo.permission == null) {
- return true; // exported activity without permission.
- } else if (pm.checkPermission(resolvedActivityInfo.permission,
- authDesc.packageName) == PackageManager.PERMISSION_GRANTED) {
- return true;
- }
- }
+ // Allows to launch only authenticator owned activities.
ApplicationInfo authenticatorAppInf = pm.getApplicationInfo(authDesc.packageName, 0);
return resolvedAppInfo.uid == authenticatorAppInf.uid;
} catch (NameNotFoundException e) {
? ((Instrumentable) mFragment).getMetricsCategory()
: Instrumentable.METRICS_CATEGORY_UNKNOWN;
new SubSettingLauncher(preference.getContext())
- .setTitle(mTitleRes)
+ .setTitleRes(mTitleRes)
.setDestination(mClass)
.setSourceMetricsCategory(metricsCategory)
.launch();