Merge "Use SwitchBar for Daydream Settings"

This commit is contained in:
Fabrice Di Meglio
2014-05-15 22:14:25 +00:00
committed by Android (Google) Code Review

View File

@@ -16,7 +16,6 @@
package com.android.settings; package com.android.settings;
import android.app.ActionBar;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
@@ -27,7 +26,6 @@ import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
@@ -39,8 +37,6 @@ import android.view.View.OnClickListener;
import android.view.View.OnTouchListener; import android.view.View.OnTouchListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.RadioButton; import android.widget.RadioButton;
@@ -48,10 +44,12 @@ import android.widget.Switch;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.DreamBackend.DreamInfo; import com.android.settings.DreamBackend.DreamInfo;
import com.android.settings.widget.SwitchBar;
import java.util.List; import java.util.List;
public class DreamSettings extends SettingsPreferenceFragment { public class DreamSettings extends SettingsPreferenceFragment implements
SwitchBar.OnSwitchChangeListener {
private static final String TAG = DreamSettings.class.getSimpleName(); private static final String TAG = DreamSettings.class.getSimpleName();
static final boolean DEBUG = false; static final boolean DEBUG = false;
private static final int DIALOG_WHEN_TO_DREAM = 1; private static final int DIALOG_WHEN_TO_DREAM = 1;
@@ -62,6 +60,7 @@ public class DreamSettings extends SettingsPreferenceFragment {
private Context mContext; private Context mContext;
private DreamBackend mBackend; private DreamBackend mBackend;
private DreamInfoAdapter mAdapter; private DreamInfoAdapter mAdapter;
private SwitchBar mSwitchBar;
private Switch mSwitch; private Switch mSwitch;
private MenuItem[] mMenuItemsWhenEnabled; private MenuItem[] mMenuItemsWhenEnabled;
private boolean mRefreshing; private boolean mRefreshing;
@@ -83,46 +82,37 @@ public class DreamSettings extends SettingsPreferenceFragment {
logd("onCreate(%s)", icicle); logd("onCreate(%s)", icicle);
super.onCreate(icicle); super.onCreate(icicle);
final Activity activity = getActivity(); final SettingsActivity activity = (SettingsActivity) getActivity();
mBackend = new DreamBackend(activity); mBackend = new DreamBackend(activity);
mSwitch = new Switch(activity.getActionBar().getThemedContext());
mSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() { mSwitchBar = activity.getSwitchBar();
mSwitchBar.addOnSwitchChangeListener(this);
mSwitch = mSwitchBar.getSwitch();
setHasOptionsMenu(true);
}
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onSwitchChanged(Switch switchView, boolean isChecked) {
if (!mRefreshing) { if (!mRefreshing) {
mBackend.setEnabled(isChecked); mBackend.setEnabled(isChecked);
refreshFromBackend(); refreshFromBackend();
} }
} }
});
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
mSwitch.setPaddingRelative(0, 0, padding, 0);
setHasOptionsMenu(true);
}
@Override @Override
public void onStart() { public void onStart() {
logd("onStart()"); logd("onStart()");
super.onStart(); super.onStart();
final ActionBar actionBar = getActivity().getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(mSwitch, new ActionBar.LayoutParams(
ActionBar.LayoutParams.WRAP_CONTENT,
ActionBar.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.END));
} }
@Override @Override
public void onDestroyView() { public void onDestroyView() {
logd("onDestroyView()"); logd("onDestroyView()");
getActivity().getActionBar().setCustomView(null); mSwitchBar.removeOnSwitchChangeListener(this);
mSwitchBar.hide();
super.onDestroyView(); super.onDestroyView();
} }
@@ -140,6 +130,8 @@ public class DreamSettings extends SettingsPreferenceFragment {
mAdapter = new DreamInfoAdapter(mContext); mAdapter = new DreamInfoAdapter(mContext);
listView.setAdapter(mAdapter); listView.setAdapter(mAdapter);
mSwitchBar.show();
} }
@Override @Override