diff options
| author | TheStrix <parthbhatia98@gmail.com> | 2016-04-05 02:31:29 -0400 |
|---|---|---|
| committer | TheStrix <parthbhatia98@gmail.com> | 2016-05-06 05:12:58 -0400 |
| commit | d087aefb7b7a37a3771011728dfcf7e263b68cad (patch) | |
| tree | 31c359b593dd995b4e443c2f5a543516f1437abe | |
| parent | 14c20a8e07359c894e8e2a05cf1d7f207de701bb (diff) | |
msm8916: Add CMHW vibrator intensity control
Change-Id: Ibdd9b564b9bb6ff80516017bc2121634bef41f65
| -rw-r--r-- | BoardConfigCommon.mk | 4 | ||||
| -rw-r--r-- | cmhw/org/cyanogenmod/hardware/VibratorHW.java | 57 | ||||
| -rw-r--r-- | rootdir/etc/init.qcom.rc | 10 |
3 files changed, 70 insertions, 1 deletions
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 44e4e6b..792519c 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -89,7 +89,9 @@ BLUETOOTH_HCI_USE_MCT := true # CMHW BOARD_USES_CYANOGEN_HARDWARE := true -BOARD_HARDWARE_CLASS += hardware/cyanogen/cmhw +BOARD_HARDWARE_CLASS += \ + hardware/cyanogen/cmhw \ + $(VENDOR_PATH)/cmhw # Crypto TARGET_HW_DISK_ENCRYPTION := true diff --git a/cmhw/org/cyanogenmod/hardware/VibratorHW.java b/cmhw/org/cyanogenmod/hardware/VibratorHW.java new file mode 100644 index 0000000..a2b3cf8 --- /dev/null +++ b/cmhw/org/cyanogenmod/hardware/VibratorHW.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2016 The CyanogenMod Project + * + * 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 org.cyanogenmod.hardware; + +import org.cyanogenmod.hardware.util.FileUtils; +import java.io.File; + +public class VibratorHW { + private static String DEFAULT_PATH = + "/sys/class/timed_output/vibrator/vtg_default"; + private static String LEVEL_PATH = + "/sys/class/timed_output/vibrator/vtg_level"; + private static String MAX_PATH = "/sys/class/timed_output/vibrator/vtg_max"; + private static String MIN_PATH = "/sys/class/timed_output/vibrator/vtg_min"; + + public static boolean isSupported() { + return new File(LEVEL_PATH).exists(); + } + + public static int getMaxIntensity() { + return Integer.parseInt(FileUtils.readOneLine(MAX_PATH)); + } + + public static int getMinIntensity() { + return Integer.parseInt(FileUtils.readOneLine(MIN_PATH)); + } + + public static int getWarningThreshold() { + return -1; + } + + public static int getCurIntensity() { + return Integer.parseInt(FileUtils.readOneLine(LEVEL_PATH)); + } + + public static int getDefaultIntensity() { + return Integer.parseInt(FileUtils.readOneLine(DEFAULT_PATH)); + } + + public static boolean setIntensity(int intensity) { + return FileUtils.writeLine(LEVEL_PATH, String.valueOf(intensity)); + } +} diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5ccb585..af9fb41 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -266,6 +266,16 @@ on boot mkdir /data/misc/display 0770 system graphics mkdir /persist/display 0770 system graphics + # Vibrator intensity control + chown system system /sys/class/timed_output/vibrator/vtg_default + chown system system /sys/class/timed_output/vibrator/vtg_level + chown system system /sys/class/timed_output/vibrator/vtg_max + chown system system /sys/class/timed_output/vibrator/vtg_min + chmod 0644 /sys/class/timed_output/vibrator/vtg_default + chmod 0644 /sys/class/timed_output/vibrator/vtg_level + chmod 0644 /sys/class/timed_output/vibrator/vtg_max + chmod 0644 /sys/class/timed_output/vibrator/vtg_min + on property:init.svc.wpa_supplicant=stopped stop dhcpcd |
