Cherish: Unplug adapter when disabling UDFPS animation

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Pranav Vashi
2022-02-23 22:45:21 +05:30
committed by Hưng Phan
parent 078794059e
commit ff99a44c1f

View File

@@ -84,6 +84,7 @@ public class UdfpsAnimation extends SettingsPreferenceFragment implements
private String[] mTitles; private String[] mTitles;
private boolean mEnabled; private boolean mEnabled;
private UdfpsAnimAdapter mUdfpsAnimAdapter;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
@@ -118,8 +119,7 @@ public class UdfpsAnimation extends SettingsPreferenceFragment implements
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 3); GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 3);
mRecyclerView.setLayoutManager(gridLayoutManager); mRecyclerView.setLayoutManager(gridLayoutManager);
UdfpsAnimAdapter mUdfpsAnimAdapter = new UdfpsAnimAdapter(getActivity()); mUdfpsAnimAdapter = new UdfpsAnimAdapter(getActivity());
mRecyclerView.setAdapter(mUdfpsAnimAdapter);
return view; return view;
} }
@@ -143,15 +143,15 @@ public class UdfpsAnimation extends SettingsPreferenceFragment implements
public void onSwitchChanged(Switch switchView, boolean isChecked) { public void onSwitchChanged(Switch switchView, boolean isChecked) {
Settings.System.putInt(getActivity().getContentResolver(), Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.UDFPS_ANIM, isChecked ? 1 : 0); Settings.System.UDFPS_ANIM, isChecked ? 1 : 0);
mSwitch.setChecked(isChecked);
setEnabled(isChecked); setEnabled(isChecked);
} }
public void setEnabled(boolean enabled) { public void setEnabled(boolean enabled) {
for (int i = 0; i < mRecyclerView.getChildCount(); ++i) { if (enabled) {
RecyclerView.ViewHolder holder = mRecyclerView.getChildViewHolder(mRecyclerView.getChildAt(i)); mRecyclerView.setAdapter(mUdfpsAnimAdapter);
holder.itemView.setEnabled(enabled); } else {
holder.itemView.findViewById(R.id.option_thumbnail).setAlpha(enabled ? 1f : 0.5f); mRecyclerView.setAdapter(null);
holder.itemView.findViewById(R.id.option_label).setAlpha(enabled ? 1f : 0.5f);
} }
} }
@@ -215,10 +215,6 @@ public class UdfpsAnimation extends SettingsPreferenceFragment implements
Settings.System.UDFPS_ANIM_STYLE, position); Settings.System.UDFPS_ANIM_STYLE, position);
} }
}); });
holder.itemView.setEnabled(mEnabled);
holder.itemView.findViewById(R.id.option_thumbnail).setAlpha(mEnabled ? 1f : 0.5f);
holder.itemView.findViewById(R.id.option_label).setAlpha(mEnabled ? 1f : 0.5f);
} }
@Override @Override