Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d876fd6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add managing domain URLs to the new Default apps screen."

parents d7d06a4c ef6aada4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -503,6 +503,9 @@
    <!-- Label when there is no default apps [CHAR LIMIT=30] -->
    <string name="no_default_apps">No default apps</string>

    <!-- Title for preference item that will show the user's preferences for this app's priority for opening links to websites that it claims to support [CHAR LIMIT=30] -->
    <string name="default_apps_manage_domain_urls">Opening links</string>

    <!-- Title for category of default apps for work [CHAR LIMIT=30] -->
    <string name="default_apps_for_work">Default for work</string>

+4 −3
Original line number Diff line number Diff line
@@ -53,8 +53,8 @@ public class DefaultAppFragment extends SettingsFragment

    private static final String LOG_TAG = DefaultAppFragment.class.getSimpleName();

    private static final String PREFERENCE_KEY_NONE =
            DefaultAppFragment.class.getPackage().getName() + ".preference.NONE";
    private static final String PREFERENCE_KEY_NONE = DefaultAppFragment.class.getName()
            + ".preference.NONE";

    private String mRoleName;

@@ -185,11 +185,12 @@ public class DefaultAppFragment extends SettingsFragment
            preference.setOnPreferenceChangeListener((preference2, newValue) -> false);
            preference.setOnPreferenceClickListener(this);
        }

        preference.setChecked(checked);
        if (applicationInfo != null) {
            mRole.prepareApplicationPreferenceAsUser(preference, applicationInfo, mUser, context);
        }
        // TODO: Ordering?

        preferenceScreen.addPreference(preference);
    }

+25 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.ArrayMap;

import androidx.annotation.NonNull;
@@ -48,7 +49,11 @@ public class DefaultAppListFragment extends SettingsFragment

    private static final String LOG_TAG = DefaultAppListFragment.class.getSimpleName();

    private static final String PREFERENCE_KEY_WORK_CATEGORY = "work_category";
    private static final String PREFERENCE_KEY_MANAGE_DOMAIN_URLS =
            DefaultAppListFragment.class.getName() + ".preference.MANAGE_DOMAIN_URLS";

    private static final String PREFERENCE_KEY_WORK_CATEGORY =
            DefaultAppListFragment.class.getName() + ".preference.WORK_CATEGORY";

    private DefaultAppListViewModel mViewModel;

@@ -119,6 +124,7 @@ public class DefaultAppListFragment extends SettingsFragment

        addPreferences(preferenceScreen, roleItems, oldPreferences, this, mViewModel.getUser(),
                context);
        addManageDomainUrlsPreference(preferenceScreen, oldPreferences, context);
        if (hasWorkProfile && !workRoleItems.isEmpty()) {
            PreferenceCategory workPreferenceCategory = oldWorkPreferenceCategory;
            if (workPreferenceCategory == null) {
@@ -173,7 +179,6 @@ public class DefaultAppListFragment extends SettingsFragment
                preference.setSummary(Utils.getAppLabel(holderApplicationInfo, context));
            }

            // TODO: Ordering?
            preferenceGroup.addPreference(preference);
        }
    }
@@ -191,4 +196,22 @@ public class DefaultAppListFragment extends SettingsFragment
        startActivity(intent);
        return true;
    }

    private static void addManageDomainUrlsPreference(@NonNull PreferenceGroup preferenceGroup,
            @NonNull ArrayMap<String, Preference> oldPreferences, @NonNull Context context) {
        Preference preference = oldPreferences.get(PREFERENCE_KEY_MANAGE_DOMAIN_URLS);
        if (preference == null) {
            preference = new Preference(context);
            preference.setKey(PREFERENCE_KEY_MANAGE_DOMAIN_URLS);
            preference.setIconSpaceReserved(true);
            preference.setTitle(context.getString(R.string.default_apps_manage_domain_urls));
            preference.setPersistent(false);
            preference.setOnPreferenceClickListener(preference2 -> {
                context.startActivity(new Intent(Settings.ACTION_MANAGE_DOMAIN_URLS));
                return true;
            });
        }

        preferenceGroup.addPreference(preference);
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -145,7 +145,6 @@ public class SpecialAppAccessFragment extends SettingsFragment

            preference.setChecked(isHolderPackage);

            // TODO: Ordering?
            preferenceScreen.addPreference(preference);
        }

+0 −1
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@ public class SpecialAppAccessListFragment extends SettingsFragment
                preference.setOnPreferenceClickListener(this);
            }

            // TODO: Ordering?
            preferenceScreen.addPreference(preference);
        }