Update
This commit is contained in:
1 parent
cba2811ec5
commit
6136b5c9c2
9 files changed
+91
-163
No files matched your search
@@ -29,7 +29,7 @@ import com.hippo.scene.preference.PreferenceScene;
|
||||
import com.hippo.scene.preference.PreferenceSet;
|
||||
import com.hippo.util.Messenger;
|
||||
|
||||
public final class EHSettingsScene extends PreferenceScene implements Preference.OnValueChangeListener {
|
||||
public final class EHSettingsScene extends PreferenceScene {
|
||||
|
||||
private static final String KEY_EH_SOURCE = "eh_source";
|
||||
private static final int DEFAULT_EH_SOURCE = BuildConfig.DEBUG ?
|
||||
@@ -53,12 +53,14 @@ public final class EHSettingsScene extends PreferenceScene implements Preference
|
||||
private PreferenceSet[] getPreferenceSet() {
|
||||
Resources resources = getStageActivity().getResources();
|
||||
|
||||
ValueChangeListener valueChangeListener = new ValueChangeListener();
|
||||
|
||||
ListPreference sourcePreference = new ListPreference(KEY_EH_SOURCE,
|
||||
resources.getString(R.string.settings_eh_source_title), null);
|
||||
sourcePreference.setKeys(resources.getStringArray(R.array.settings_eh_source_entries));
|
||||
sourcePreference.setValues(resources.getIntArray(R.array.settings_eh_source_entry_values));
|
||||
sourcePreference.setDefaultValue(DEFAULT_EH_SOURCE);
|
||||
sourcePreference.setOnValueChangeListener(this);
|
||||
sourcePreference.setOnValueChangeListener(valueChangeListener);
|
||||
|
||||
PreferenceSet preferenceSet = new PreferenceSet();
|
||||
preferenceSet.setPreferenceCategory(new PreferenceCategory(resources.getString(R.string.settings_eh)));
|
||||
@@ -72,15 +74,18 @@ public final class EHSettingsScene extends PreferenceScene implements Preference
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean OnValueChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
switch (key) {
|
||||
case KEY_EH_SOURCE:
|
||||
Messenger.getInstance().notify(Constants.MESSENGER_ID_EH_SOURCE, newValue);
|
||||
return true;
|
||||
default:
|
||||
return true;
|
||||
private static class ValueChangeListener implements Preference.OnValueChangeListener {
|
||||
|
||||
@Override
|
||||
public boolean OnValueChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
switch (key) {
|
||||
case KEY_EH_SOURCE:
|
||||
Messenger.getInstance().notify(Constants.MESSENGER_ID_EH_SOURCE, newValue);
|
||||
return true;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@ import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.StaggeredGridLayoutManager;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
@@ -878,9 +878,8 @@ public final class GalleryListScene extends Scene implements SearchBar.Helper,
|
||||
|
||||
@Override
|
||||
protected RecyclerView.LayoutManager generateLayoutManager() {
|
||||
// TODO StaggeredGridLayoutManager item dislocation for setPaddingTop
|
||||
return new LinearLayoutManager(mActivity);
|
||||
//return new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL);
|
||||
// set SpanCount in runtime
|
||||
return new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -116,6 +116,12 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
super.onRestore(transferStop);
|
||||
|
||||
mBuilder = (Builder) transferStop.get("builder");
|
||||
// Create new Adapter to avoid memory leak
|
||||
if (mBuilder.mAdapter != null) {
|
||||
mBuilder.mAdapter = new ArrayAdapter<>(getStageActivity(),
|
||||
mBuilder.mItemLayoutResId, android.R.id.text1,
|
||||
mBuilder.mItems);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -310,6 +316,8 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
private String mTitle;
|
||||
private String mMessage;
|
||||
|
||||
private CharSequence[] mItems;
|
||||
private int mItemLayoutResId;
|
||||
private ListAdapter mAdapter;
|
||||
private OnClickListener mOnListItemClickListener;
|
||||
protected int mCheckedItem;
|
||||
@@ -351,8 +359,10 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
}
|
||||
|
||||
public Builder setItems(int itemsId, final OnClickListener listener) {
|
||||
mItems = mContext.getResources().getTextArray(itemsId);
|
||||
mItemLayoutResId = R.layout.select_dialog_item;
|
||||
mAdapter = new ArrayAdapter<>(mContext, R.layout.select_dialog_item,
|
||||
android.R.id.text1, mContext.getResources().getTextArray(itemsId));
|
||||
android.R.id.text1, mItems);
|
||||
mOnListItemClickListener = listener;
|
||||
mIsSingleChoice = false;
|
||||
return this;
|
||||
@@ -360,6 +370,8 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
|
||||
public Builder setItems(CharSequence[] items,
|
||||
final OnClickListener listener) {
|
||||
mItems = items;
|
||||
mItemLayoutResId = R.layout.select_dialog_item;
|
||||
mAdapter = new ArrayAdapter<>(mContext, R.layout.select_dialog_item,
|
||||
android.R.id.text1, items);
|
||||
mOnListItemClickListener = listener;
|
||||
@@ -367,19 +379,13 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setAdapter(final ListAdapter adapter,
|
||||
final OnClickListener listener) {
|
||||
mAdapter = adapter;
|
||||
mOnListItemClickListener = listener;
|
||||
mIsSingleChoice = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setSingleChoiceItems(int itemsId, int checkedItem,
|
||||
final OnClickListener listener) {
|
||||
mItems = mContext.getResources().getTextArray(itemsId);
|
||||
mItemLayoutResId = R.layout.select_dialog_singlechoice;
|
||||
mAdapter = new ArrayAdapter<>(mContext,
|
||||
R.layout.select_dialog_singlechoice, android.R.id.text1,
|
||||
mContext.getResources().getTextArray(itemsId));
|
||||
mItems);
|
||||
mOnListItemClickListener = listener;
|
||||
mCheckedItem = checkedItem;
|
||||
mIsSingleChoice = true;
|
||||
@@ -388,7 +394,9 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
|
||||
public Builder setSingleChoiceItems(CharSequence[] items,
|
||||
int checkedItem, final OnClickListener listener) {
|
||||
mAdapter = new ArrayAdapter<CharSequence>(mContext,
|
||||
mItems = items;
|
||||
mItemLayoutResId = R.layout.select_dialog_singlechoice;
|
||||
mAdapter = new ArrayAdapter<>(mContext,
|
||||
R.layout.select_dialog_singlechoice, android.R.id.text1, items);
|
||||
mOnListItemClickListener = listener;
|
||||
mCheckedItem = checkedItem;
|
||||
@@ -396,15 +404,6 @@ public class SimpleDialog extends SceneDialog implements View.OnClickListener,
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setSingleChoiceItems(ListAdapter adapter,
|
||||
int checkedItem, final OnClickListener listener) {
|
||||
mAdapter = adapter;
|
||||
mOnListItemClickListener = listener;
|
||||
mCheckedItem = checkedItem;
|
||||
mIsSingleChoice = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setCustomView(@LayoutRes int resId,
|
||||
@Nullable OnCreateCustomViewListener listener) {
|
||||
mCustomViewResId = resId;
|
||||
|
||||
Reference in new issue
Block a user