Deep link to detail UI when mainline module version is clicked.

Fixes: 129287281
Test: robotests
Change-Id: I875cf39936dd8cc656aba9e30dc03c882ee13d4a
This commit is contained in:
Fan Zhang
2019-03-26 12:26:21 -07:00
parent cd0b74d730
commit 5911fe6188
2 changed files with 65 additions and 7 deletions

View File

@@ -17,11 +17,16 @@
package com.android.settings.deviceinfo.firmwareversion;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.text.TextUtils;
import android.util.FeatureFlagUtils;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.FeatureFlags;
@@ -29,6 +34,9 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
private static final String TAG = "MainlineModuleControl";
@VisibleForTesting
static final Intent MODULE_UPDATE_INTENT =
new Intent("android.settings.MODULE_UPDATE_SETTINGS");
private final PackageManager mPackageManager;
private String mModuleVersion;
@@ -65,6 +73,20 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
}
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
// Confirm MODULE_UPDATE_INTENT is handleable, and set it to Preference.
final ResolveInfo resolved =
mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
if (resolved != null) {
preference.setIntent(MODULE_UPDATE_INTENT);
} else {
preference.setIntent(null);
}
}
@Override
public CharSequence getSummary() {
return mModuleVersion;