sdk: Remove lineagehw compat
Change-Id: I329a74b5e489cc39d183697c25bb9771ae5afd82
This commit is contained in:
@@ -83,7 +83,6 @@ java_library {
|
||||
|
||||
libs: [
|
||||
"services",
|
||||
"org.lineageos.hardware",
|
||||
] + lineage_sdk_LOCAL_JAVA_LIBRARIES,
|
||||
|
||||
srcs: [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Copyright (C) 2015 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2018 The LineageOS Project
|
||||
# Copyright (C) 2017-2019 The LineageOS Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -141,8 +141,7 @@ LOCAL_ADDITONAL_JAVA_DIR := $(lineage_platform_docs_LOCAL_ADDITIONAL_JAVA_DIR)
|
||||
LOCAL_IS_HOST_MODULE := false
|
||||
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := vendor/lineage/build/tools/droiddoc/templates-lineage-sdk
|
||||
LOCAL_ADDITIONAL_DEPENDENCIES := \
|
||||
services \
|
||||
org.lineageos.hardware
|
||||
services
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := $(lineage_platform_docs_java_libraries)
|
||||
|
||||
|
||||
@@ -19,42 +19,15 @@ package org.lineageos.platform.internal;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteCallbackList;
|
||||
import android.os.RemoteException;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
import android.util.Range;
|
||||
|
||||
import com.android.server.display.DisplayTransformManager;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.SystemService;
|
||||
|
||||
import lineageos.app.LineageContextConstants;
|
||||
import lineageos.hardware.ILineageHardwareService;
|
||||
import lineageos.hardware.LineageHardwareManager;
|
||||
import lineageos.hardware.DisplayMode;
|
||||
import lineageos.hardware.HSIC;
|
||||
import lineageos.hardware.TouchscreenGesture;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.lineageos.hardware.AdaptiveBacklight;
|
||||
import org.lineageos.hardware.AutoContrast;
|
||||
import org.lineageos.hardware.ColorBalance;
|
||||
import org.lineageos.hardware.ColorEnhancement;
|
||||
import org.lineageos.hardware.DisplayColorCalibration;
|
||||
import org.lineageos.hardware.DisplayModeControl;
|
||||
import org.lineageos.hardware.HighTouchSensitivity;
|
||||
import org.lineageos.hardware.KeyDisabler;
|
||||
import org.lineageos.hardware.PictureAdjustment;
|
||||
import org.lineageos.hardware.ReadingEnhancement;
|
||||
import org.lineageos.hardware.SunlightEnhancement;
|
||||
import org.lineageos.hardware.TouchscreenGestures;
|
||||
import org.lineageos.hardware.TouchscreenHovering;
|
||||
import org.lineageos.hardware.VibratorHW;
|
||||
|
||||
import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY;
|
||||
import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_GRAYSCALE;
|
||||
@@ -75,30 +48,6 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
|
||||
public int[] getDisplayColorCalibration();
|
||||
public boolean setDisplayColorCalibration(int[] rgb);
|
||||
|
||||
public int[] getVibratorIntensity();
|
||||
public boolean setVibratorIntensity(int intensity);
|
||||
|
||||
public boolean requireAdaptiveBacklightForSunlightEnhancement();
|
||||
public boolean isSunlightEnhancementSelfManaged();
|
||||
|
||||
public DisplayMode[] getDisplayModes();
|
||||
public DisplayMode getCurrentDisplayMode();
|
||||
public DisplayMode getDefaultDisplayMode();
|
||||
public boolean setDisplayMode(DisplayMode mode, boolean makeDefault);
|
||||
|
||||
public int getColorBalanceMin();
|
||||
public int getColorBalanceMax();
|
||||
public int getColorBalance();
|
||||
public boolean setColorBalance(int value);
|
||||
|
||||
public HSIC getPictureAdjustment();
|
||||
public HSIC getDefaultPictureAdjustment();
|
||||
public boolean setPictureAdjustment(HSIC hsic);
|
||||
public List<Range<Float>> getPictureAdjustmentRanges();
|
||||
|
||||
public TouchscreenGesture[] getTouchscreenGestures();
|
||||
public boolean setTouchscreenGestureEnabled(TouchscreenGesture gesture, boolean state);
|
||||
}
|
||||
|
||||
private class LegacyLineageHardware implements LineageHardwareInterface {
|
||||
@@ -139,34 +88,6 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
public LegacyLineageHardware() {
|
||||
mAcceleratedTransform = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_setColorTransformAccelerated);
|
||||
if (AdaptiveBacklight.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_ADAPTIVE_BACKLIGHT;
|
||||
if (ColorEnhancement.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_COLOR_ENHANCEMENT;
|
||||
if (DisplayColorCalibration.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_DISPLAY_COLOR_CALIBRATION;
|
||||
if (HighTouchSensitivity.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY;
|
||||
if (KeyDisabler.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_KEY_DISABLE;
|
||||
if (ReadingEnhancement.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_READING_ENHANCEMENT;
|
||||
if (SunlightEnhancement.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT;
|
||||
if (VibratorHW.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_VIBRATOR;
|
||||
if (TouchscreenHovering.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_TOUCH_HOVERING;
|
||||
if (AutoContrast.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_AUTO_CONTRAST;
|
||||
if (DisplayModeControl.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_DISPLAY_MODES;
|
||||
if (ColorBalance.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_COLOR_BALANCE;
|
||||
if (PictureAdjustment.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_PICTURE_ADJUSTMENT;
|
||||
if (TouchscreenGestures.isSupported())
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_TOUCHSCREEN_GESTURES;
|
||||
if (mAcceleratedTransform) {
|
||||
mDTMService = LocalServices.getService(DisplayTransformManager.class);
|
||||
mSupportedFeatures |= LineageHardwareManager.FEATURE_DISPLAY_COLOR_CALIBRATION;
|
||||
@@ -180,24 +101,9 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
|
||||
public boolean get(int feature) {
|
||||
switch(feature) {
|
||||
case LineageHardwareManager.FEATURE_ADAPTIVE_BACKLIGHT:
|
||||
return AdaptiveBacklight.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_AUTO_CONTRAST:
|
||||
return AutoContrast.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_COLOR_ENHANCEMENT:
|
||||
return ColorEnhancement.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY:
|
||||
return HighTouchSensitivity.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_KEY_DISABLE:
|
||||
return KeyDisabler.isActive();
|
||||
case LineageHardwareManager.FEATURE_READING_ENHANCEMENT:
|
||||
if (mAcceleratedTransform)
|
||||
return mReadingEnhancementEnabled;
|
||||
return ReadingEnhancement.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT:
|
||||
return SunlightEnhancement.isEnabled();
|
||||
case LineageHardwareManager.FEATURE_TOUCH_HOVERING:
|
||||
return TouchscreenHovering.isEnabled();
|
||||
default:
|
||||
Log.e(TAG, "feature " + feature + " is not a boolean feature");
|
||||
return false;
|
||||
@@ -206,16 +112,6 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
|
||||
public boolean set(int feature, boolean enable) {
|
||||
switch(feature) {
|
||||
case LineageHardwareManager.FEATURE_ADAPTIVE_BACKLIGHT:
|
||||
return AdaptiveBacklight.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_AUTO_CONTRAST:
|
||||
return AutoContrast.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_COLOR_ENHANCEMENT:
|
||||
return ColorEnhancement.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY:
|
||||
return HighTouchSensitivity.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_KEY_DISABLE:
|
||||
return KeyDisabler.setActive(enable);
|
||||
case LineageHardwareManager.FEATURE_READING_ENHANCEMENT:
|
||||
if (mAcceleratedTransform) {
|
||||
mReadingEnhancementEnabled = enable;
|
||||
@@ -223,44 +119,12 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
enable ? MATRIX_GRAYSCALE : MATRIX_NORMAL);
|
||||
return true;
|
||||
}
|
||||
return ReadingEnhancement.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT:
|
||||
return SunlightEnhancement.setEnabled(enable);
|
||||
case LineageHardwareManager.FEATURE_TOUCH_HOVERING:
|
||||
return TouchscreenHovering.setEnabled(enable);
|
||||
default:
|
||||
Log.e(TAG, "feature " + feature + " is not a boolean feature");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private int[] splitStringToInt(String input, String delimiter) {
|
||||
if (input == null || delimiter == null) {
|
||||
return null;
|
||||
}
|
||||
String strArray[] = input.split(delimiter);
|
||||
try {
|
||||
int intArray[] = new int[strArray.length];
|
||||
for(int i = 0; i < strArray.length; i++) {
|
||||
intArray[i] = Integer.parseInt(strArray[i]);
|
||||
}
|
||||
return intArray;
|
||||
} catch (NumberFormatException e) {
|
||||
/* ignore */
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String rgbToString(int[] rgb) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append(rgb[LineageHardwareManager.COLOR_CALIBRATION_RED_INDEX]);
|
||||
builder.append(" ");
|
||||
builder.append(rgb[LineageHardwareManager.COLOR_CALIBRATION_GREEN_INDEX]);
|
||||
builder.append(" ");
|
||||
builder.append(rgb[LineageHardwareManager.COLOR_CALIBRATION_BLUE_INDEX]);
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
private float[] rgbToMatrix(int[] rgb) {
|
||||
float[] mat = new float[16];
|
||||
|
||||
@@ -279,8 +143,7 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
}
|
||||
|
||||
public int[] getDisplayColorCalibration() {
|
||||
int[] rgb = mAcceleratedTransform ? mCurColors :
|
||||
splitStringToInt(DisplayColorCalibration.getCurColors(), " ");
|
||||
int[] rgb = mAcceleratedTransform ? mCurColors : null;
|
||||
if (rgb == null || rgb.length != 3) {
|
||||
Log.e(TAG, "Invalid color calibration string");
|
||||
return null;
|
||||
@@ -289,10 +152,8 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_RED_INDEX] = rgb[0];
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_GREEN_INDEX] = rgb[1];
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_BLUE_INDEX] = rgb[2];
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_MIN_INDEX] =
|
||||
mAcceleratedTransform ? MIN : DisplayColorCalibration.getMinValue();
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_MAX_INDEX] =
|
||||
mAcceleratedTransform ? MAX : DisplayColorCalibration.getMaxValue();
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_MIN_INDEX] = MIN;
|
||||
currentCalibration[LineageHardwareManager.COLOR_CALIBRATION_MAX_INDEX] = MAX;
|
||||
return currentCalibration;
|
||||
}
|
||||
|
||||
@@ -302,85 +163,9 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
mDTMService.setColorMatrix(LEVEL_COLOR_MATRIX_CALIB, rgbToMatrix(rgb));
|
||||
return true;
|
||||
}
|
||||
return DisplayColorCalibration.setColors(rgbToString(rgb));
|
||||
return false;
|
||||
}
|
||||
|
||||
public int[] getVibratorIntensity() {
|
||||
int[] vibrator = new int[5];
|
||||
vibrator[LineageHardwareManager.VIBRATOR_INTENSITY_INDEX] = VibratorHW.getCurIntensity();
|
||||
vibrator[LineageHardwareManager.VIBRATOR_DEFAULT_INDEX] = VibratorHW.getDefaultIntensity();
|
||||
vibrator[LineageHardwareManager.VIBRATOR_MIN_INDEX] = VibratorHW.getMinIntensity();
|
||||
vibrator[LineageHardwareManager.VIBRATOR_MAX_INDEX] = VibratorHW.getMaxIntensity();
|
||||
vibrator[LineageHardwareManager.VIBRATOR_WARNING_INDEX] = VibratorHW.getWarningThreshold();
|
||||
return vibrator;
|
||||
}
|
||||
|
||||
public boolean setVibratorIntensity(int intensity) {
|
||||
return VibratorHW.setIntensity(intensity);
|
||||
}
|
||||
|
||||
public boolean requireAdaptiveBacklightForSunlightEnhancement() {
|
||||
return SunlightEnhancement.isAdaptiveBacklightRequired();
|
||||
}
|
||||
|
||||
public boolean isSunlightEnhancementSelfManaged() {
|
||||
return SunlightEnhancement.isSelfManaged();
|
||||
}
|
||||
|
||||
public DisplayMode[] getDisplayModes() {
|
||||
return DisplayModeControl.getAvailableModes();
|
||||
}
|
||||
|
||||
public DisplayMode getCurrentDisplayMode() {
|
||||
return DisplayModeControl.getCurrentMode();
|
||||
}
|
||||
|
||||
public DisplayMode getDefaultDisplayMode() {
|
||||
return DisplayModeControl.getDefaultMode();
|
||||
}
|
||||
|
||||
public boolean setDisplayMode(DisplayMode mode, boolean makeDefault) {
|
||||
return DisplayModeControl.setMode(mode, makeDefault);
|
||||
}
|
||||
|
||||
public int getColorBalanceMin() {
|
||||
return ColorBalance.getMinValue();
|
||||
}
|
||||
|
||||
public int getColorBalanceMax() {
|
||||
return ColorBalance.getMaxValue();
|
||||
}
|
||||
|
||||
public int getColorBalance() {
|
||||
return ColorBalance.getValue();
|
||||
}
|
||||
|
||||
public boolean setColorBalance(int value) {
|
||||
return ColorBalance.setValue(value);
|
||||
}
|
||||
|
||||
public HSIC getPictureAdjustment() { return PictureAdjustment.getHSIC(); }
|
||||
|
||||
public HSIC getDefaultPictureAdjustment() { return PictureAdjustment.getDefaultHSIC(); }
|
||||
|
||||
public boolean setPictureAdjustment(HSIC hsic) { return PictureAdjustment.setHSIC(hsic); }
|
||||
|
||||
public List<Range<Float>> getPictureAdjustmentRanges() {
|
||||
return Arrays.asList(
|
||||
PictureAdjustment.getHueRange(),
|
||||
PictureAdjustment.getSaturationRange(),
|
||||
PictureAdjustment.getIntensityRange(),
|
||||
PictureAdjustment.getContrastRange(),
|
||||
PictureAdjustment.getSaturationThresholdRange());
|
||||
}
|
||||
|
||||
public TouchscreenGesture[] getTouchscreenGestures() {
|
||||
return TouchscreenGestures.getAvailableGestures();
|
||||
}
|
||||
|
||||
public boolean setTouchscreenGestureEnabled(TouchscreenGesture gesture, boolean state) {
|
||||
return TouchscreenGestures.setGestureEnabled(gesture, state);
|
||||
}
|
||||
}
|
||||
|
||||
private LineageHardwareInterface getImpl(Context context) {
|
||||
@@ -473,201 +258,6 @@ public class LineageHardwareService extends LineageSystemService {
|
||||
}
|
||||
return mLineageHwImpl.setDisplayColorCalibration(rgb);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getVibratorIntensity() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_VIBRATOR)) {
|
||||
Log.e(TAG, "Vibrator is not supported");
|
||||
return null;
|
||||
}
|
||||
return mLineageHwImpl.getVibratorIntensity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setVibratorIntensity(int intensity) {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_VIBRATOR)) {
|
||||
Log.e(TAG, "Vibrator is not supported");
|
||||
return false;
|
||||
}
|
||||
return mLineageHwImpl.setVibratorIntensity(intensity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requireAdaptiveBacklightForSunlightEnhancement() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT)) {
|
||||
Log.e(TAG, "Sunlight enhancement is not supported");
|
||||
return false;
|
||||
}
|
||||
return mLineageHwImpl.requireAdaptiveBacklightForSunlightEnhancement();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSunlightEnhancementSelfManaged() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_SUNLIGHT_ENHANCEMENT)) {
|
||||
Log.e(TAG, "Sunlight enhancement is not supported");
|
||||
return false;
|
||||
}
|
||||
return mLineageHwImpl.isSunlightEnhancementSelfManaged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DisplayMode[] getDisplayModes() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_DISPLAY_MODES)) {
|
||||
Log.e(TAG, "Display modes are not supported");
|
||||
return null;
|
||||
}
|
||||
return mLineageHwImpl.getDisplayModes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DisplayMode getCurrentDisplayMode() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_DISPLAY_MODES)) {
|
||||
Log.e(TAG, "Display modes are not supported");
|
||||
return null;
|
||||
}
|
||||
return mLineageHwImpl.getCurrentDisplayMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DisplayMode getDefaultDisplayMode() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_DISPLAY_MODES)) {
|
||||
Log.e(TAG, "Display modes are not supported");
|
||||
return null;
|
||||
}
|
||||
return mLineageHwImpl.getDefaultDisplayMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setDisplayMode(DisplayMode mode, boolean makeDefault) {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_DISPLAY_MODES)) {
|
||||
Log.e(TAG, "Display modes are not supported");
|
||||
return false;
|
||||
}
|
||||
return mLineageHwImpl.setDisplayMode(mode, makeDefault);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColorBalanceMin() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_COLOR_BALANCE)) {
|
||||
return mLineageHwImpl.getColorBalanceMin();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColorBalanceMax() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_COLOR_BALANCE)) {
|
||||
return mLineageHwImpl.getColorBalanceMax();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColorBalance() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_COLOR_BALANCE)) {
|
||||
return mLineageHwImpl.getColorBalance();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setColorBalance(int value) {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_COLOR_BALANCE)) {
|
||||
return mLineageHwImpl.setColorBalance(value);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HSIC getPictureAdjustment() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_PICTURE_ADJUSTMENT)) {
|
||||
return mLineageHwImpl.getPictureAdjustment();
|
||||
}
|
||||
return new HSIC(0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HSIC getDefaultPictureAdjustment() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_PICTURE_ADJUSTMENT)) {
|
||||
return mLineageHwImpl.getDefaultPictureAdjustment();
|
||||
}
|
||||
return new HSIC(0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setPictureAdjustment(HSIC hsic) {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_PICTURE_ADJUSTMENT) && hsic != null) {
|
||||
return mLineageHwImpl.setPictureAdjustment(hsic);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float[] getPictureAdjustmentRanges() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (isSupported(LineageHardwareManager.FEATURE_PICTURE_ADJUSTMENT)) {
|
||||
final List<Range<Float>> r = mLineageHwImpl.getPictureAdjustmentRanges();
|
||||
return new float[] {
|
||||
r.get(0).getLower(), r.get(0).getUpper(),
|
||||
r.get(1).getLower(), r.get(1).getUpper(),
|
||||
r.get(2).getLower(), r.get(2).getUpper(),
|
||||
r.get(3).getLower(), r.get(3).getUpper(),
|
||||
r.get(4).getUpper(), r.get(4).getUpper() };
|
||||
}
|
||||
return new float[10];
|
||||
}
|
||||
|
||||
@Override
|
||||
public TouchscreenGesture[] getTouchscreenGestures() {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_TOUCHSCREEN_GESTURES)) {
|
||||
Log.e(TAG, "Touchscreen gestures are not supported");
|
||||
return null;
|
||||
}
|
||||
return mLineageHwImpl.getTouchscreenGestures();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setTouchscreenGestureEnabled(TouchscreenGesture gesture, boolean state) {
|
||||
mContext.enforceCallingOrSelfPermission(
|
||||
lineageos.platform.Manifest.permission.HARDWARE_ABSTRACTION_ACCESS, null);
|
||||
if (!isSupported(LineageHardwareManager.FEATURE_TOUCHSCREEN_GESTURES)) {
|
||||
Log.e(TAG, "Touchscreen gestures are not supported");
|
||||
return false;
|
||||
}
|
||||
return mLineageHwImpl.setTouchscreenGestureEnabled(gesture, state);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ public final class LineageHardwareManager {
|
||||
* @return true if the feature is supported, false otherwise.
|
||||
*/
|
||||
public boolean isSupported(int feature) {
|
||||
return isSupportedHIDL(feature) || isSupportedLegacy(feature);
|
||||
return isSupportedHIDL(feature) || isSupportedHWC2(feature);
|
||||
}
|
||||
|
||||
private boolean isSupportedHIDL(int feature) {
|
||||
@@ -256,7 +256,7 @@ public final class LineageHardwareManager {
|
||||
return mHIDLMap.get(feature) != null;
|
||||
}
|
||||
|
||||
private boolean isSupportedLegacy(int feature) {
|
||||
private boolean isSupportedHWC2(int feature) {
|
||||
try {
|
||||
if (checkService()) {
|
||||
return feature == (sService.getSupportedFeatures() & feature);
|
||||
@@ -432,90 +432,6 @@ public final class LineageHardwareManager {
|
||||
return arr[idx];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public static final int VIBRATOR_INTENSITY_INDEX = 0;
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public static final int VIBRATOR_DEFAULT_INDEX = 1;
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public static final int VIBRATOR_MIN_INDEX = 2;
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public static final int VIBRATOR_MAX_INDEX = 3;
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public static final int VIBRATOR_WARNING_INDEX = 4;
|
||||
|
||||
private int[] getVibratorIntensityArray() {
|
||||
try {
|
||||
if (checkService()) {
|
||||
return sService.getVibratorIntensity();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The current vibrator intensity.
|
||||
*/
|
||||
public int getVibratorIntensity() {
|
||||
return getArrayValue(getVibratorIntensityArray(), VIBRATOR_INTENSITY_INDEX, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The default vibrator intensity.
|
||||
*/
|
||||
public int getVibratorDefaultIntensity() {
|
||||
return getArrayValue(getVibratorIntensityArray(), VIBRATOR_DEFAULT_INDEX, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The minimum vibrator intensity.
|
||||
*/
|
||||
public int getVibratorMinIntensity() {
|
||||
return getArrayValue(getVibratorIntensityArray(), VIBRATOR_MIN_INDEX, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The maximum vibrator intensity.
|
||||
*/
|
||||
public int getVibratorMaxIntensity() {
|
||||
return getArrayValue(getVibratorIntensityArray(), VIBRATOR_MAX_INDEX, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The warning threshold vibrator intensity.
|
||||
*/
|
||||
public int getVibratorWarningIntensity() {
|
||||
return getArrayValue(getVibratorIntensityArray(), VIBRATOR_WARNING_INDEX, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the current vibrator intensity
|
||||
*
|
||||
* @param intensity the intensity to set, between {@link #getVibratorMinIntensity()} and
|
||||
* {@link #getVibratorMaxIntensity()} inclusive.
|
||||
*
|
||||
* @return true on success, false otherwise.
|
||||
*/
|
||||
public boolean setVibratorIntensity(int intensity) {
|
||||
try {
|
||||
if (checkService()) {
|
||||
return sService.setVibratorIntensity(intensity);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
@@ -620,41 +536,6 @@ public final class LineageHardwareManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if adaptive backlight should be enabled when sunlight enhancement
|
||||
* is enabled.
|
||||
*/
|
||||
public boolean requireAdaptiveBacklightForSunlightEnhancement() {
|
||||
if (isSupportedHIDL(FEATURE_SUNLIGHT_ENHANCEMENT)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
if (checkService()) {
|
||||
return sService.requireAdaptiveBacklightForSunlightEnhancement();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if this implementation does it's own lux metering
|
||||
*/
|
||||
public boolean isSunlightEnhancementSelfManaged() {
|
||||
if (isSupportedHIDL(FEATURE_SUNLIGHT_ENHANCEMENT)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
if (checkService()) {
|
||||
return sService.isSunlightEnhancementSelfManaged();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a list of available display modes on the devices
|
||||
*/
|
||||
@@ -664,8 +545,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_DISPLAY_MODES)) {
|
||||
IDisplayModes displayModes = (IDisplayModes) mHIDLMap.get(FEATURE_DISPLAY_MODES);
|
||||
modes = HIDLHelper.fromHIDLModes(displayModes.getDisplayModes());
|
||||
} else if (checkService()) {
|
||||
modes= sService.getDisplayModes();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
} finally {
|
||||
@@ -692,8 +571,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_DISPLAY_MODES)) {
|
||||
IDisplayModes displayModes = (IDisplayModes) mHIDLMap.get(FEATURE_DISPLAY_MODES);
|
||||
mode = HIDLHelper.fromHIDLMode(displayModes.getCurrentDisplayMode());
|
||||
} else if (checkService()) {
|
||||
mode = sService.getCurrentDisplayMode();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
} finally {
|
||||
@@ -710,8 +587,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_DISPLAY_MODES)) {
|
||||
IDisplayModes displayModes = (IDisplayModes) mHIDLMap.get(FEATURE_DISPLAY_MODES);
|
||||
mode = HIDLHelper.fromHIDLMode(displayModes.getDefaultDisplayMode());
|
||||
} else if (checkService()) {
|
||||
mode = sService.getDefaultDisplayMode();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
} finally {
|
||||
@@ -727,8 +602,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_DISPLAY_MODES)) {
|
||||
IDisplayModes displayModes = (IDisplayModes) mHIDLMap.get(FEATURE_DISPLAY_MODES);
|
||||
return displayModes.setDisplayMode(mode.id, makeDefault);
|
||||
} else if (checkService()) {
|
||||
return sService.setDisplayMode(mode, makeDefault);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -756,10 +629,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_COLOR_BALANCE)) {
|
||||
IColorBalance colorBalance = (IColorBalance) mHIDLMap.get(FEATURE_COLOR_BALANCE);
|
||||
return HIDLHelper.fromHIDLRange(colorBalance.getColorBalanceRange());
|
||||
} else if (checkService()) {
|
||||
return new Range<Integer>(
|
||||
sService.getColorBalanceMin(),
|
||||
sService.getColorBalanceMax());
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -774,8 +643,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_COLOR_BALANCE)) {
|
||||
IColorBalance colorBalance = (IColorBalance) mHIDLMap.get(FEATURE_COLOR_BALANCE);
|
||||
return colorBalance.getColorBalance();
|
||||
} else if (checkService()) {
|
||||
return sService.getColorBalance();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -794,8 +661,6 @@ public final class LineageHardwareManager {
|
||||
if (isSupportedHIDL(FEATURE_COLOR_BALANCE)) {
|
||||
IColorBalance colorBalance = (IColorBalance) mHIDLMap.get(FEATURE_COLOR_BALANCE);
|
||||
return colorBalance.setColorBalance(value);
|
||||
} else if (checkService()) {
|
||||
return sService.setColorBalance(value);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -813,8 +678,6 @@ public final class LineageHardwareManager {
|
||||
IPictureAdjustment pictureAdjustment = (IPictureAdjustment)
|
||||
mHIDLMap.get(FEATURE_PICTURE_ADJUSTMENT);
|
||||
return HIDLHelper.fromHIDLHSIC(pictureAdjustment.getPictureAdjustment());
|
||||
} else if (checkService()) {
|
||||
return sService.getPictureAdjustment();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -832,8 +695,6 @@ public final class LineageHardwareManager {
|
||||
IPictureAdjustment pictureAdjustment = (IPictureAdjustment)
|
||||
mHIDLMap.get(FEATURE_PICTURE_ADJUSTMENT);
|
||||
return HIDLHelper.fromHIDLHSIC(pictureAdjustment.getDefaultPictureAdjustment());
|
||||
} else if (checkService()) {
|
||||
return sService.getDefaultPictureAdjustment();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -852,8 +713,6 @@ public final class LineageHardwareManager {
|
||||
IPictureAdjustment pictureAdjustment = (IPictureAdjustment)
|
||||
mHIDLMap.get(FEATURE_PICTURE_ADJUSTMENT);
|
||||
return pictureAdjustment.setPictureAdjustment(HIDLHelper.toHIDLHSIC(hsic));
|
||||
} else if (checkService()) {
|
||||
return sService.setPictureAdjustment(hsic);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -876,17 +735,6 @@ public final class LineageHardwareManager {
|
||||
HIDLHelper.fromHIDLRange(pictureAdjustment.getIntensityRange()),
|
||||
HIDLHelper.fromHIDLRange(pictureAdjustment.getContrastRange()),
|
||||
HIDLHelper.fromHIDLRange(pictureAdjustment.getSaturationThresholdRange()));
|
||||
} else if (checkService()) {
|
||||
float[] ranges = sService.getPictureAdjustmentRanges();
|
||||
if (ranges.length > 7) {
|
||||
return Arrays.asList(new Range<Float>(ranges[0], ranges[1]),
|
||||
new Range<Float>(ranges[2], ranges[3]),
|
||||
new Range<Float>(ranges[4], ranges[5]),
|
||||
new Range<Float>(ranges[6], ranges[7]),
|
||||
(ranges.length > 9 ?
|
||||
new Range<Float>(ranges[8], ranges[9]) :
|
||||
new Range<Float>(0.0f, 0.0f)));
|
||||
}
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -902,8 +750,6 @@ public final class LineageHardwareManager {
|
||||
ITouchscreenGesture touchscreenGesture = (ITouchscreenGesture)
|
||||
mHIDLMap.get(FEATURE_TOUCHSCREEN_GESTURES);
|
||||
return HIDLHelper.fromHIDLGestures(touchscreenGesture.getSupportedGestures());
|
||||
} else if (checkService()) {
|
||||
return sService.getTouchscreenGestures();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
@@ -921,8 +767,6 @@ public final class LineageHardwareManager {
|
||||
mHIDLMap.get(FEATURE_TOUCHSCREEN_GESTURES);
|
||||
return touchscreenGesture.setGestureEnabled(
|
||||
HIDLHelper.toHIDLGesture(gesture), state);
|
||||
} else if (checkService()) {
|
||||
return sService.setTouchscreenGestureEnabled(gesture, state);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user