Revert "Added transparency-metadata display."
Revert "Added new transparency metadata enum." Revert submission 19943929-mba_ui Reason for revert: Feature cancelled due to product direction change. Reverted Changes: I7b3e296c3:Added transparency metadata feature flag. Ia4b2f294b:Added new transparency metadata enum. If7822100a:Added transparency-metadata display. Change-Id: If50179b4a485587dcf49a2c9e2ae18a69b173794
This commit is contained in:
@@ -16,50 +16,42 @@
|
||||
|
||||
package com.android.settings.applications.appinfo;
|
||||
|
||||
import static com.android.settings.applications.mobilebundledapps.MobileBundledAppDetailsActivity.ACTION_TRANSPARENCY_METADATA;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserManager;
|
||||
import android.provider.DeviceConfig;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.applications.AppStoreUtil;
|
||||
import com.android.settings.applications.mobilebundledapps.ApplicationMetadataUtils;
|
||||
import com.android.settingslib.applications.AppUtils;
|
||||
|
||||
public class AppInstallerInfoPreferenceController extends AppInfoPreferenceControllerBase {
|
||||
|
||||
private static final String KEY_ENABLE_PROMPT = "enable_prompt";
|
||||
private String mPackageName;
|
||||
private String mInstallerPackage;
|
||||
private CharSequence mInstallerLabel;
|
||||
private Boolean mAppIsMbaWithMetadata;
|
||||
private Boolean mEnableMbaUiFlag = false;
|
||||
|
||||
public AppInstallerInfoPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
updateFromDeviceConfigFlags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
if (UserManager.get(mContext).isManagedProfile()
|
||||
|| AppUtils.isMainlineModule(mContext.getPackageManager(), mPackageName)) {
|
||||
if (UserManager.get(mContext).isManagedProfile()) {
|
||||
return DISABLED_FOR_USER;
|
||||
}
|
||||
if (mInstallerLabel != null || (mAppIsMbaWithMetadata && mEnableMbaUiFlag)) {
|
||||
return AVAILABLE;
|
||||
|
||||
if (AppUtils.isMainlineModule(mContext.getPackageManager(), mPackageName)) {
|
||||
return DISABLED_FOR_USER;
|
||||
}
|
||||
return DISABLED_FOR_USER;
|
||||
|
||||
return mInstallerLabel != null ? AVAILABLE : DISABLED_FOR_USER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(final Preference preference) {
|
||||
public void updateState(Preference preference) {
|
||||
final int detailsStringId = AppUtils.isInstant(mParent.getPackageInfo().applicationInfo)
|
||||
? R.string.instant_app_details_summary
|
||||
: R.string.app_install_details_summary;
|
||||
@@ -68,52 +60,14 @@ public class AppInstallerInfoPreferenceController extends AppInfoPreferenceContr
|
||||
Intent intent = AppStoreUtil.getAppStoreLink(mContext, mInstallerPackage, mPackageName);
|
||||
if (intent != null) {
|
||||
preference.setIntent(intent);
|
||||
} else if (mAppIsMbaWithMetadata && mEnableMbaUiFlag) {
|
||||
preference.setIntent(generateMetadataXmlViewerIntent());
|
||||
preference.setSummary(mContext.getString(R.string.app_install_details_mba_summary));
|
||||
} else {
|
||||
preference.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the packageName in context for the controller.
|
||||
*/
|
||||
public void setPackageName(final String packageName) {
|
||||
public void setPackageName(String packageName) {
|
||||
mPackageName = packageName;
|
||||
mInstallerPackage = AppStoreUtil.getInstallerPackageName(mContext, mPackageName);
|
||||
mInstallerLabel = Utils.getApplicationLabel(mContext, mInstallerPackage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setups and determines if the current package in context is an mobile-bundled-app with
|
||||
* an application metadata file embedded within.
|
||||
*/
|
||||
public void setMbaWithMetadataStatus(final ApplicationMetadataUtils appMetadataUtils,
|
||||
final String packageName) {
|
||||
mAppIsMbaWithMetadata = appMetadataUtils.packageContainsXmlFile(
|
||||
mContext.getPackageManager(), packageName);
|
||||
}
|
||||
|
||||
private Intent generateMetadataXmlViewerIntent() {
|
||||
final Intent metadataXmlIntent = new Intent(ACTION_TRANSPARENCY_METADATA)
|
||||
.setPackage(mContext.getPackageName());
|
||||
metadataXmlIntent.putExtra(Intent.EXTRA_PACKAGE_NAME, mPackageName);
|
||||
return metadataXmlIntent;
|
||||
}
|
||||
|
||||
private void updateFromDeviceConfigFlags() {
|
||||
String enablePromptFlag = DeviceConfig.getProperty(
|
||||
DeviceConfig.NAMESPACE_TRANSPARENCY_METADATA,
|
||||
KEY_ENABLE_PROMPT);
|
||||
//No-op for empty field and relies on default value of false
|
||||
if (!TextUtils.isEmpty(enablePromptFlag)) {
|
||||
setEnableMbaFlag(Boolean.parseBoolean(enablePromptFlag));
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setEnableMbaFlag(final boolean flagValue) {
|
||||
mEnableMbaUiFlag = flagValue;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user