/* * Copyright (C) 2011-2012 sakuramilk <c.sakuramilk@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sakuramilk.TweakGS2.Dock; import android.content.Context; import net.sakuramilk.util.RootProcess; import net.sakuramilk.util.SettingManager; import net.sakuramilk.util.SysFs; public class DockSetting extends SettingManager { public static final String KEY_DOCK_EMULATE = "dock_emulate"; public static final String KEY_DOCK_MANUAL = "dock_manual"; public static final String DOCK_EMU_DISABLE_INDEX = "0"; public static final String DOCK_EMU_DISABLE_VALUE = "13"; public static final String DOCK_EMU_SW_INDEX = "1"; public static final String DOCK_EMU_SW_VALUE = "13"; public static final String DOCK_EMU_HW_INDEX = "2"; public static final String DOCK_EMU_HW_VALUE = "4"; private SysFs mDockEmulate = new SysFs("/sys/devices/platform/s3c2410-i2c.5/i2c-5/5-0066/max8997-muic/fake_cable_type"); public DockSetting(Context context, RootProcess rootProcess) { super(context, rootProcess); } public DockSetting(Context context) { this(context, null); } public String getEmuIndexFromEmuValue(String value) { if (DOCK_EMU_DISABLE_VALUE.equals(value)) { return DOCK_EMU_DISABLE_INDEX; } else if (DOCK_EMU_SW_VALUE.equals(value)) { return DOCK_EMU_SW_INDEX; } else if (DOCK_EMU_HW_VALUE.equals(value)) { return DOCK_EMU_HW_INDEX; } else { return DOCK_EMU_DISABLE_INDEX; } } public boolean isEnableDockEmulate() { return mDockEmulate.exists(); } public String getDockEmulate() { return mDockEmulate.read(mRootProcess); } public void setDockEmulate(String value) { mDockEmulate.write(value, mRootProcess); } public String loadDockEmulate() { String ret = getStringValue(KEY_DOCK_EMULATE); if (ret == null) { return DOCK_EMU_DISABLE_INDEX; } return ret; } public void saveDockEmulate(String value) { setValue(KEY_DOCK_EMULATE, value); } @Override public void setOnBoot() { setDockEmulate(loadDockEmulate()); } @Override public void setRecommend() { // noop } @Override public void reset() { clearValue(KEY_DOCK_EMULATE); } }