Hide "Add link" item when have no addable items

Fixes: 188115562
Test: manual test
Change-Id: I9cfc634a50cc75d907f4563e1a9d9c1fa34d88fb
This commit is contained in:
Sunny Shao
2021-05-25 21:31:30 +08:00
parent 1e747a593f
commit 8610fff399

View File

@@ -312,6 +312,7 @@ public class AppLaunchSettings extends AppInfoBase implements
/** Initialize add link preference */ /** Initialize add link preference */
private void initAddLinkPreference() { private void initAddLinkPreference() {
mAddLinkPreference = findPreference(ADD_LINK_PREF_KEY); mAddLinkPreference = findPreference(ADD_LINK_PREF_KEY);
mAddLinkPreference.setVisible(isAddLinksShown());
mAddLinkPreference.setEnabled(isAddLinksNotEmpty()); mAddLinkPreference.setEnabled(isAddLinksNotEmpty());
mAddLinkPreference.setOnPreferenceClickListener(preference -> { mAddLinkPreference.setOnPreferenceClickListener(preference -> {
final int stateNoneLinksNo = getLinksNumber(DOMAIN_STATE_NONE); final int stateNoneLinksNo = getLinksNumber(DOMAIN_STATE_NONE);
@@ -327,6 +328,10 @@ public class AppLaunchSettings extends AppInfoBase implements
return getLinksNumber(DOMAIN_STATE_NONE) > 0; return getLinksNumber(DOMAIN_STATE_NONE) > 0;
} }
private boolean isAddLinksShown() {
return (isAddLinksNotEmpty() || getLinksNumber(DOMAIN_STATE_SELECTED) > 0);
}
private void showProgressDialogFragment() { private void showProgressDialogFragment() {
final Bundle args = new Bundle(); final Bundle args = new Bundle();
args.putString(APP_PACKAGE_KEY, mPackageName); args.putString(APP_PACKAGE_KEY, mPackageName);