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:
George Chan
2022-10-04 19:07:02 +00:00
parent b995e6d0cb
commit f9b20b0fe9
12 changed files with 26 additions and 896 deletions

View File

@@ -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;
}
}