Settings: Properly handle ASI and WallpaperPreference for gms and vanilla builds
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
This commit is contained in:
@@ -266,6 +266,11 @@
|
|||||||
<string name="config_settingsintelligence_package_name" translatable="false">
|
<string name="config_settingsintelligence_package_name" translatable="false">
|
||||||
com.android.settings.intelligence
|
com.android.settings.intelligence
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
|
<!-- Google Settings intelligence package name -->
|
||||||
|
<string name="config_google_settingsintelligence_package_name" translatable="false">
|
||||||
|
com.google.android.settings.intelligence
|
||||||
|
</string>
|
||||||
|
|
||||||
<!-- Settings intelligence interaction log intent action -->
|
<!-- Settings intelligence interaction log intent action -->
|
||||||
<string name="config_settingsintelligence_log_action" translatable="false"></string>
|
<string name="config_settingsintelligence_log_action" translatable="false"></string>
|
||||||
|
|||||||
@@ -1286,6 +1286,15 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getAsiPackage(Context context) {
|
||||||
|
final boolean isGoogleAsiInstalled = com.android.internal.util.evolution.Utils.isPackageInstalled(context,
|
||||||
|
context.getString(R.string.config_google_settingsintelligence_package_name));
|
||||||
|
final String settingsIntelligencePkg = context.getString(isGoogleAsiInstalled
|
||||||
|
? R.string.config_google_settingsintelligence_package_name
|
||||||
|
: R.string.config_settingsintelligence_package_name);
|
||||||
|
return settingsIntelligencePkg;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if current binder uid is Settings Intelligence.
|
* Returns true if current binder uid is Settings Intelligence.
|
||||||
*/
|
*/
|
||||||
@@ -1293,7 +1302,7 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
final int callingUid = Binder.getCallingUid();
|
final int callingUid = Binder.getCallingUid();
|
||||||
final String callingPackage = context.getPackageManager().getPackagesForUid(callingUid)[0];
|
final String callingPackage = context.getPackageManager().getPackagesForUid(callingUid)[0];
|
||||||
final boolean isSettingsIntelligence = TextUtils.equals(callingPackage,
|
final boolean isSettingsIntelligence = TextUtils.equals(callingPackage,
|
||||||
context.getString(R.string.config_settingsintelligence_package_name));
|
getAsiPackage(context));
|
||||||
return isSettingsIntelligence;
|
return isSettingsIntelligence;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
|
|
||||||
import com.android.internal.telephony.SmsApplication;
|
import com.android.internal.telephony.SmsApplication;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.webview.WebViewUpdateServiceWrapper;
|
import com.android.settings.webview.WebViewUpdateServiceWrapper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -193,7 +194,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
|
|||||||
|
|
||||||
// Keep Settings intelligence enabled, otherwise search feature will be disabled.
|
// Keep Settings intelligence enabled, otherwise search feature will be disabled.
|
||||||
keepEnabledPackages.add(
|
keepEnabledPackages.add(
|
||||||
mContext.getString(R.string.config_settingsintelligence_package_name));
|
Utils.getAsiPackage(mContext));
|
||||||
|
|
||||||
// Keep Package Installer enabled.
|
// Keep Package Installer enabled.
|
||||||
keepEnabledPackages.add(mContext.getString(R.string.config_package_installer_package_name));
|
keepEnabledPackages.add(mContext.getString(R.string.config_package_installer_package_name));
|
||||||
|
|||||||
@@ -32,11 +32,17 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||||
import com.android.settingslib.RestrictedPreference;
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
|
||||||
|
import com.android.internal.util.evolution.Utils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class WallpaperPreferenceController extends BasePreferenceController {
|
public class WallpaperPreferenceController extends BasePreferenceController {
|
||||||
private static final String TAG = "WallpaperPrefController";
|
private static final String TAG = "WallpaperPrefController";
|
||||||
private static final String LAUNCHED_SETTINGS = "app_launched_settings";
|
private static final String LAUNCHED_SETTINGS = "app_launched_settings";
|
||||||
|
private static final String DEFAULT_WP_CLASS = "com.android.settings.Settings$WallpaperSettingsActivity";
|
||||||
|
private static final String DEFAULT_WP_PKG = "com.android.settings";
|
||||||
|
private static final String GOOGLE_WP_CLASS = "com.google.android.apps.wallpaper.picker.CategoryPickerActivity";
|
||||||
|
private static final String GOOGLE_WP_PKG = "com.google.android.apps.wallpaper";
|
||||||
|
|
||||||
private final String mWallpaperPackage;
|
private final String mWallpaperPackage;
|
||||||
private final String mWallpaperClass;
|
private final String mWallpaperClass;
|
||||||
@@ -47,13 +53,14 @@ public class WallpaperPreferenceController extends BasePreferenceController {
|
|||||||
|
|
||||||
public WallpaperPreferenceController(Context context, String key) {
|
public WallpaperPreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mWallpaperPackage = mContext.getString(R.string.config_wallpaper_picker_package);
|
final boolean isGoogleWpInstalled = Utils.isPackageInstalled(context, GOOGLE_WP_PKG);
|
||||||
mWallpaperClass = mContext.getString(R.string.config_wallpaper_picker_class);
|
mWallpaperPackage = isGoogleWpInstalled ? GOOGLE_WP_PKG : DEFAULT_WP_PKG;
|
||||||
mStylesAndWallpaperClass =
|
mWallpaperClass = isGoogleWpInstalled ? GOOGLE_WP_CLASS : DEFAULT_WP_CLASS;
|
||||||
mContext.getString(R.string.config_styles_and_wallpaper_picker_class);
|
mStylesAndWallpaperClass = isGoogleWpInstalled ?
|
||||||
mWallpaperActionName = mContext.getString(R.string.config_wallpaper_picker_action);
|
mContext.getString(R.string.config_styles_and_wallpaper_picker_class) : "";
|
||||||
mStylesAndWallpaperActionName =
|
mWallpaperActionName = isGoogleWpInstalled ? mContext.getString(R.string.config_wallpaper_picker_action) : "";
|
||||||
mContext.getString(R.string.config_styles_and_wallpaper_picker_action);
|
mStylesAndWallpaperActionName = isGoogleWpInstalled ?
|
||||||
|
mContext.getString(R.string.config_styles_and_wallpaper_picker_action) : "";
|
||||||
mWallpaperLaunchExtra = mContext.getString(R.string.config_wallpaper_picker_launch_extra);
|
mWallpaperLaunchExtra = mContext.getString(R.string.config_wallpaper_picker_launch_extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public interface SearchFeatureProvider {
|
|||||||
* @return a package name of settings intelligence.
|
* @return a package name of settings intelligence.
|
||||||
*/
|
*/
|
||||||
default String getSettingsIntelligencePkgName(Context context) {
|
default String getSettingsIntelligencePkgName(Context context) {
|
||||||
return context.getString(R.string.config_settingsintelligence_package_name);
|
return Utils.getAsiPackage(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -65,8 +65,7 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM
|
|||||||
@Override
|
@Override
|
||||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
final Activity activity = mHost.getActivity();
|
final Activity activity = mHost.getActivity();
|
||||||
final String SettingsIntelligencePkgName = activity.getString(
|
final String SettingsIntelligencePkgName = Utils.getAsiPackage(activity);
|
||||||
R.string.config_settingsintelligence_package_name);
|
|
||||||
if (!WizardManagerHelper.isDeviceProvisioned(activity)
|
if (!WizardManagerHelper.isDeviceProvisioned(activity)
|
||||||
|| WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
|
|| WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -517,7 +517,7 @@ public class SettingsSliceProvider extends SliceProvider {
|
|||||||
return hasPermission
|
return hasPermission
|
||||||
&& TextUtils.equals(
|
&& TextUtils.equals(
|
||||||
callingPackage,
|
callingPackage,
|
||||||
context.getString(R.string.config_settingsintelligence_package_name));
|
Utils.getAsiPackage(context));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user