Explain properly when apps can open multiple hosts' links

The app link settings "Open by default" detail view was showing
only one host under label "Supported links," improperly implying
that the app would only open that host's links.  The summary now
matches the 'App links' view's, explaining "Open $HOST and related
URLs" for apps with more than one.

Tapping on the item has always shown the full list of hosts
advertised by the app, and this remains unchanged.

Bug 22769535

Change-Id: I2be409df64639eb0f2b43a06e3195796c3a3df8b
This commit is contained in:
Christopher Tate
2015-08-03 17:46:30 -07:00
parent b74c0b2a27
commit d485c6b13d

View File

@@ -20,11 +20,12 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import com.android.settings.accessibility.ListDialogPreference;
import com.android.settings.accessibility.ListDialogPreference;
import com.android.settings.R;
public class AppDomainsPreference extends ListDialogPreference {
private int mNumEntries;
public AppDomainsPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -33,6 +34,27 @@ public class AppDomainsPreference extends ListDialogPreference {
setListItemLayoutResource(R.layout.app_domains_item);
}
@Override
public void setTitles(CharSequence[] titles) {
mNumEntries = (titles != null) ? titles.length : 0;
super.setTitles(titles);
}
@Override
public CharSequence getSummary() {
final Context context = getContext();
if (mNumEntries == 0) {
return context.getString(R.string.domain_urls_summary_none);
}
// The superclass summary is the text of the first entry in the list
final CharSequence summary = super.getSummary();
final int whichVersion = (mNumEntries == 1)
? R.string.domain_urls_summary_one
: R.string.domain_urls_summary_some;
return context.getString(whichVersion, summary);
}
@Override
protected void onBindListItem(View view, int index) {
final CharSequence title = getTitleAt(index);