Depend on support lib preferences

Bug: 24576551
Change-Id: Ic6190bacd3f7582c9bbc8de972da4612bd92421e
This commit is contained in:
Jason Monk
2015-09-10 15:52:51 -04:00
parent 136ed7b6b2
commit 39b467482d
308 changed files with 2684 additions and 1762 deletions

View File

@@ -27,11 +27,11 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.os.UserHandle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.SwitchPreference;
import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;

View File

@@ -26,10 +26,10 @@ import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -102,7 +102,7 @@ public abstract class ManagedServiceSettings extends SettingsPreferenceFragment
for (ServiceInfo service : services) {
final ComponentName cn = new ComponentName(service.packageName, service.name);
final String title = service.loadLabel(mPM).toString();
final SwitchPreference pref = new SwitchPreference(mContext);
final SwitchPreference pref = new SwitchPreference(getPrefContext());
pref.setPersistent(false);
pref.setIcon(service.loadIcon(mPM));
pref.setTitle(title);

View File

@@ -40,21 +40,22 @@ import android.os.Message;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.Vibrator;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceCategory;
import android.preference.SeekBarVolumizer;
import android.preference.TwoStatePreference;
import android.provider.MediaStore;
import android.provider.OpenableColumns;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.TwoStatePreference;
import android.util.Log;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.DropDownPreference;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -121,6 +122,7 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
private int mRingerMode = -1;
private UserManager mUserManager;
private RingtonePreference mRequestPreference;
@Override
protected int getMetricsCategory() {
@@ -201,11 +203,33 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
@Override
public void onPause() {
super.onPause();
for (VolumeSeekBarPreference volumePref : mVolumePrefs) {
volumePref.onActivityPause();
}
mVolumeCallback.stopSample();
mSettingsObserver.register(false);
mReceiver.register(false);
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (preference instanceof RingtonePreference) {
mRequestPreference = (RingtonePreference) preference;
mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
startActivityForResult(preference.getIntent(), mRequestPreference.getRequestCode());
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mRequestPreference != null) {
mRequestPreference.onActivityResult(requestCode, resultCode, data);
mRequestPreference = null;
}
}
// === Volumes ===
private VolumeSeekBarPreference initVolumePreference(String key, int stream, int muteIcon) {

View File

@@ -35,15 +35,13 @@ import android.os.ServiceManager;
import android.os.UserHandle;
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.DateTimeView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.android.internal.logging.MetricsLogger;
@@ -52,6 +50,7 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -99,7 +98,6 @@ public class NotificationStation extends SettingsPreferenceFragment {
}
};
private NotificationHistoryAdapter mAdapter;
private Context mContext;
private final Comparator<HistoricalNotificationInfo> mNotificationSorter
@@ -147,11 +145,8 @@ public class NotificationStation extends SettingsPreferenceFragment {
logd("onActivityCreated(%s)", savedInstanceState);
super.onActivityCreated(savedInstanceState);
ListView listView = getListView();
RecyclerView listView = getListView();
Utils.forceCustomPadding(listView, false /* non additive padding */);
mAdapter = new NotificationHistoryAdapter(mContext);
listView.setAdapter(mAdapter);
}
@Override
@@ -164,10 +159,17 @@ public class NotificationStation extends SettingsPreferenceFragment {
private void refreshList() {
List<HistoricalNotificationInfo> infos = loadNotifications();
if (infos != null) {
logd("adding %d infos", infos.size());
mAdapter.clear();
mAdapter.addAll(infos);
mAdapter.sort(mNotificationSorter);
final int N = infos.size();
logd("adding %d infos", N);
Collections.sort(infos, mNotificationSorter);
if (getPreferenceScreen() == null) {
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
}
getPreferenceScreen().removeAll();
for (int i = 0; i < N; i++) {
getPreferenceScreen().addPreference(
new HistoricalNotificationPreference(getPrefContext(), infos.get(i)));
}
}
}
@@ -291,58 +293,38 @@ public class NotificationStation extends SettingsPreferenceFragment {
return null;
}
private class NotificationHistoryAdapter extends ArrayAdapter<HistoricalNotificationInfo> {
private final LayoutInflater mInflater;
private static class HistoricalNotificationPreference extends Preference {
private final HistoricalNotificationInfo mInfo;
public NotificationHistoryAdapter(Context context) {
super(context, 0);
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
public HistoricalNotificationPreference(Context context, HistoricalNotificationInfo info) {
super(context);
setLayoutResource(R.layout.notification_log_row);
mInfo = info;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final HistoricalNotificationInfo info = getItem(position);
logd("getView(%s/%s)", info.pkg, info.title);
final View row = convertView != null ? convertView : createRow(parent);
row.setTag(info);
// bind icon
if (info.icon != null) {
((ImageView) row.findViewById(android.R.id.icon)).setImageDrawable(info.icon);
public void onBindViewHolder(PreferenceViewHolder row) {
if (mInfo.icon != null) {
((ImageView) row.findViewById(android.R.id.icon)).setImageDrawable(mInfo.icon);
}
if (info.pkgicon != null) {
((ImageView) row.findViewById(R.id.pkgicon)).setImageDrawable(info.pkgicon);
if (mInfo.pkgicon != null) {
((ImageView) row.findViewById(R.id.pkgicon)).setImageDrawable(mInfo.pkgicon);
}
((DateTimeView) row.findViewById(R.id.timestamp)).setTime(info.timestamp);
((TextView) row.findViewById(android.R.id.title)).setText(info.title);
((TextView) row.findViewById(R.id.pkgname)).setText(info.pkgname);
((DateTimeView) row.findViewById(R.id.timestamp)).setTime(mInfo.timestamp);
((TextView) row.findViewById(android.R.id.title)).setText(mInfo.title);
((TextView) row.findViewById(R.id.pkgname)).setText(mInfo.pkgname);
row.findViewById(R.id.extra).setVisibility(View.GONE);
row.setAlpha(info.active ? 1.0f : 0.5f);
// set up click handler
row.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
v.setPressed(true);
startApplicationDetailsActivity(info.pkg);
}});
return row;
row.itemView.setAlpha(mInfo.active ? 1.0f : 0.5f);
}
private View createRow(ViewGroup parent) {
return mInflater.inflate(R.layout.notification_log_row, parent, false);
@Override
public void performClick() {
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", mInfo.pkg, null));
intent.setComponent(intent.resolveActivity(getContext().getPackageManager()));
getContext().startActivity(intent);
}
}
private void startApplicationDetailsActivity(String packageName) {
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", packageName, null));
intent.setComponent(intent.resolveActivity(mPm));
startActivity(intent);
}
}

View File

@@ -16,9 +16,6 @@
package com.android.settings.notification;
import static com.android.settings.notification.SettingPref.TYPE_GLOBAL;
import static com.android.settings.notification.SettingPref.TYPE_SYSTEM;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
@@ -45,6 +42,9 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.android.settings.notification.SettingPref.TYPE_GLOBAL;
import static com.android.settings.notification.SettingPref.TYPE_SYSTEM;
public class OtherSoundSettings extends SettingsPreferenceFragment implements Indexable {
private static final String TAG = "OtherSoundSettings";

View File

@@ -16,11 +16,6 @@
package com.android.settings.notification;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
@@ -32,6 +27,11 @@ import android.view.ViewGroup;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
public class RedactionInterstitial extends SettingsActivity {
@Override

View File

@@ -16,9 +16,9 @@
package com.android.settings.notification;
import com.android.settings.R;
import android.content.Intent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.notification.RedactionInterstitial.RedactionInterstitialFragment;

View File

@@ -20,11 +20,11 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.net.Uri;
import android.preference.Preference;
import android.preference.TwoStatePreference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.provider.Settings.Global;
import android.provider.Settings.System;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.TwoStatePreference;
import com.android.settings.DropDownPreference;
import com.android.settings.SettingsPreferenceFragment;

View File

@@ -20,9 +20,8 @@ import android.content.ContentResolver;
import android.content.Context;
import android.media.AudioManager;
import android.net.Uri;
import android.preference.PreferenceManager;
import android.preference.SeekBarPreference;
import android.preference.SeekBarVolumizer;
import android.support.v7.preference.PreferenceViewHolder;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
@@ -32,12 +31,12 @@ import android.widget.SeekBar;
import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.SeekBarPreference;
import java.util.Objects;
/** A slider preference that directly controls an audio stream volume (no dialog) **/
public class VolumeSeekBarPreference extends SeekBarPreference
implements PreferenceManager.OnActivityStopListener {
public class VolumeSeekBarPreference extends SeekBarPreference {
private static final String TAG = "VolumeSeekBarPreference";
private int mStream;
@@ -85,17 +84,16 @@ public class VolumeSeekBarPreference extends SeekBarPreference
}
}
@Override
public void onActivityStop() {
public void onActivityPause() {
mStopped = true;
if (mVolumizer != null) {
mVolumizer.stop();
}
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
if (mStream == 0) {
Log.w(TAG, "No stream found, not binding volumizer");
return;
@@ -108,7 +106,6 @@ public class VolumeSeekBarPreference extends SeekBarPreference
private void init() {
if (mSeekBar == null) return;
getPreferenceManager().registerOnActivityStopListener(this);
final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() {
@Override
public void onSampleStarting(SeekBarVolumizer sbv) {

View File

@@ -31,11 +31,11 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.provider.Settings.Secure;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.ArraySet;
import android.view.LayoutInflater;
@@ -118,7 +118,7 @@ public class ZenAccessSettings extends SettingsPreferenceFragment {
for (ApplicationInfo app : apps) {
final String pkg = app.packageName;
final CharSequence label = app.loadLabel(mPkgMan);
final SwitchPreference pref = new SwitchPreference(mContext);
final SwitchPreference pref = new SwitchPreference(getPrefContext());
pref.setPersistent(false);
pref.setIcon(app.loadIcon(mPkgMan));
pref.setTitle(label);

View File

@@ -30,12 +30,13 @@ import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.service.notification.ConditionProviderService;
import android.service.notification.ZenModeConfig;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.Log;
import android.view.View;
@@ -161,9 +162,9 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
if (mRules.size() == 0) return;
final AutomaticZenRule[] sortedRules = sortedRules();
for (AutomaticZenRule sortedRule : sortedRules) {
root.addPreference(new ZenRulePreference(mContext, sortedRule));
root.addPreference(new ZenRulePreference(getPrefContext(), sortedRule));
}
final Preference p = new Preference(mContext);
final Preference p = new Preference(getPrefContext());
p.setIcon(R.drawable.ic_add);
p.setTitle(R.string.zen_mode_add_rule);
p.setPersistent(false);
@@ -314,8 +315,8 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
View v = view.findViewById(R.id.delete_zen_rule);
if (v != null) {

View File

@@ -22,13 +22,13 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.database.Cursor;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
import android.provider.CalendarContract.Calendars;
import android.provider.Settings;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenModeConfig.EventInfo;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.DropDownPreference;

View File

@@ -19,11 +19,11 @@ package com.android.settings.notification;
import android.app.NotificationManager;
import android.app.NotificationManager.Policy;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.service.notification.ZenModeConfig;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
import com.android.internal.logging.MetricsLogger;

View File

@@ -25,11 +25,11 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen;
import android.service.notification.ConditionProviderService;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;

View File

@@ -16,8 +16,6 @@
package com.android.settings.notification;
import static com.android.settings.notification.ZenModeScheduleDaysSelection.DAYS;
import android.app.AlertDialog;
import android.app.AutomaticZenRule;
import android.app.Dialog;
@@ -28,12 +26,12 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenModeConfig.ScheduleInfo;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
import android.text.format.DateFormat;
import android.util.Log;
import android.widget.TimePicker;
@@ -45,6 +43,8 @@ import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import static com.android.settings.notification.ZenModeScheduleDaysSelection.DAYS;
public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
private static final String KEY_DAYS = "days";
private static final String KEY_START_TIME = "start_time";
@@ -94,7 +94,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
final FragmentManager mgr = getFragmentManager();
mStart = new TimePickerPreference(mContext, mgr);
mStart = new TimePickerPreference(getPrefContext(), mgr);
mStart.setKey(KEY_START_TIME);
mStart.setTitle(R.string.zen_mode_start_time);
mStart.setCallback(new TimePickerPreference.Callback() {
@@ -116,7 +116,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
root.addPreference(mStart);
mStart.setDependency(mDays.getKey());
mEnd = new TimePickerPreference(mContext, mgr);
mEnd = new TimePickerPreference(getPrefContext(), mgr);
mEnd.setKey(KEY_END_TIME);
mEnd.setTitle(R.string.zen_mode_end_time);
mEnd.setCallback(new TimePickerPreference.Callback() {

View File

@@ -21,8 +21,8 @@ import android.app.NotificationManager.Policy;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.SparseArray;
import com.android.internal.logging.MetricsLogger;

View File

@@ -16,26 +16,26 @@
package com.android.settings.notification;
import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
import com.android.settings.R;
import com.android.settings.utils.VoiceSettingsActivity;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.UserHandle;
import android.media.AudioManager;
import android.os.UserHandle;
import android.provider.Settings.Global;
import android.service.notification.Condition;
import android.service.notification.ZenModeConfig;
import android.text.format.DateFormat;
import android.util.Log;
import com.android.settings.R;
import com.android.settings.utils.VoiceSettingsActivity;
import java.util.Locale;
import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
/**
* Activity for modifying the Zen mode (Do not disturb) by voice
* using the Voice Interaction API.

View File

@@ -17,23 +17,14 @@
package com.android.settings.notification;
import android.app.AlertDialog;
import android.app.AutomaticZenRule;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.ColorStateList;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.ArraySet;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import com.android.settings.R;
import java.util.List;
public abstract class ZenRuleNameDialog {
private static final String TAG = "ZenRuleNameDialog";
private static final boolean DEBUG = ZenModeSettings.DEBUG;

View File

@@ -16,8 +16,6 @@
package com.android.settings.notification;
import com.android.settings.R;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -35,6 +33,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.settings.R;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;