Mobile phone ram enlarge
/*
- Copyright (C) 2015-2016 Willi Ye [email protected]
- This file is part of Kernel Adiutor.
- Kernel Adiutor is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- Kernel Adiutor is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with Kernel Adiutor. If not, see http://www.gnu.org/licenses/.
*/ package com.grarak.kerneladiutor.fragments.kernel;
import android.text.InputType;
import com.grarak.kerneladiutor.R; import com.grarak.kerneladiutor.fragments.ApplyOnBootFragment; import com.grarak.kerneladiutor.fragments.recyclerview.RecyclerViewFragment; import com.grarak.kerneladiutor.utils.kernel.vm.VM; import com.grarak.kerneladiutor.utils.kernel.vm.ZRAM; import com.grarak.kerneladiutor.utils.kernel.vm.ZSwap; import com.grarak.kerneladiutor.views.recyclerview.CardView; import com.grarak.kerneladiutor.views.recyclerview.GenericSelectView; import com.grarak.kerneladiutor.views.recyclerview.RecyclerViewItem; import com.grarak.kerneladiutor.views.recyclerview.SeekBarView; import com.grarak.kerneladiutor.views.recyclerview.SwitchView; import com.grarak.kerneladiutor.views.recyclerview.TitleView;
import java.util.ArrayList; import java.util.List;
/**
-
Created by willi on 29.06.16. */ public class VMFragment extends RecyclerViewFragment {
private List<GenericSelectView> mVMs = new ArrayList<>();
@Override protected void init() { super.init();
addViewPagerFragment(ApplyOnBootFragment.newInstance(this));}
@Override protected void addItems(List<RecyclerViewItem> items) { mVMs.clear(); for (int i = 0; i < VM.size(); i++) { if (VM.exists(i)) { GenericSelectView vm = new GenericSelectView(); vm.setSummary(VM.getName(i)); vm.setValue(VM.getValue(i)); vm.setValueRaw(vm.getValue()); vm.setInputType(InputType.TYPE_CLASS_NUMBER);
final int position = i; vm.setOnGenericValueListener((genericSelectView, value) -> { VM.setValue(value, position, getActivity()); genericSelectView.setValue(value); refreshVMs(); }); items.add(vm); mVMs.add(vm); } } if (RAM.supported()) { ramInit(items); } zswapInit(items);}
private void zramInit(List<RecyclerViewItem> items) { TitleView zramTitle = new TitleView(); zramTitle.setText(getString(R.string.zram)); items.add(zramTitle);
SeekBarView ram = new SeekBarView(); ram.setTitle(getString(R.string.disksize)); ram.setSummary(getString(R.string.disksize_summary)); ram.setUnit(getString(R.string.mb)); ram.setMax(400); ram.setOffset(16); ram.setProgress(ZRAM.getDisksize() / 16); ram.setOnSeekBarListener(new SeekBarView.OnSeekBarListener() { @Override public void onStop(SeekBarView seekBarView, int position, String value) { RAM.setDisksize(position * 16, getActivity()); } @Override public void onMove(SeekBarView seekBarView, int position, String value) { } }); items.add(ram);}
private void zswapInit(List<RecyclerViewItem> items) { CardView zswapCard = new CardView(); zswapCard.setTitle(getString(R.string.zswap));
if (ZSwap.hasEnable()) { SwitchView zswap = new SwitchView(); zswap.setTitle(getString(R.string.zswap)); zswap.setSummary(getString(R.string.zswap_summary)); zswap.setChecked(ZSwap.isEnabled()); zswap.addOnSwitchListener((switchView, isChecked) -> ZSwap.enable(isChecked, getActivity())); zswapCard.addItem(zswap); } if (ZSwap.hasMaxPoolPercent()) { SeekBarView maxPoolPercent = new SeekBarView(); maxPoolPercent.setTitle(getString(R.string.memory_pool)); maxPoolPercent.setSummary(getString(R.string.memory_pool_summary)); maxPoolPercent.setUnit("%"); maxPoolPercent.setMax(50); maxPoolPercent.setProgress(ZSwap.getMaxPoolPercent()); maxPoolPercent.setOnSeekBarListener(new SeekBarView.OnSeekBarListener() { @Override public void onStop(SeekBarView seekBarView, int position, String value) { ZSwap.setMaxPoolPercent(position, getActivity()); } @Override public void onMove(SeekBarView seekBarView, int position, String value) { } }); zswapCard.addItem(maxPoolPercent); } if (ZSwap.hasMaxCompressionRatio()) { SeekBarView maxCompressionRatio = new SeekBarView(); maxCompressionRatio.setTitle(getString(R.string.maximum_compression_ratio)); maxCompressionRatio.setSummary(getString(R.string.maximum_compression_ratio_summary)); maxCompressionRatio.setUnit("%"); maxCompressionRatio.setProgress(ZSwap.getMaxCompressionRatio()); maxCompressionRatio.setOnSeekBarListener(new SeekBarView.OnSeekBarListener() { @Override public void onStop(SeekBarView seekBarView, int position, String value) { ZSwap.setMaxCompressionRatio(position, getActivity()); } @Override public void onMove(SeekBarView seekBarView, int position, String value) { } }); zswapCard.addItem(maxCompressionRatio); } if (zswapCard.size() > 0) { items.add(zswapCard); }}
private void refreshVMs() { getHandler().postDelayed(() -> { for (int i = 0; i < mVMs.size(); i++) { mVMs.get(i).setValue(VM.getValue(i)); mVMs.get(i).setValueRaw(mVMs.get(i).getValue()); } }, 250);/ , 255);/ }
}