Revert "AmbientDisplay: Enable Ambient Display for klte."

This reverts commit f89d46563f.

Change-Id: I6d1286fb1d15f039d85b8c2d8d6d24b9919e8716
This commit is contained in:
Patrick Lower 2015-05-21 12:59:56 -04:00
parent 09d4f66b1e
commit ad7fb1bcb4
10 changed files with 0 additions and 397 deletions

View File

@ -1,16 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := KlteDoze
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cyanogenmod.settings.device"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system">
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="21"/>
<application
android:label="KlteDoze"
android:persistent="true">
<receiver android:name="com.cyanogenmod.settings.device.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<service android:name="com.cyanogenmod.settings.device.KlteDozeService"
android:permission="KlteDozeService">
</service>
<activity
android:name=".TouchscreenGestureSettings"
android:label="@string/screen_gestures_panel_title"
android:theme="@android:style/Theme.Material.Settings">>
<intent-filter>
<action android:name="com.cyanogenmod.action.LAUNCH_TOUCHSCREEN_GESTURE_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.title"
android:resource="@string/screen_gestures_panel_title"/>
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/screen_gestures_panel_summary"/>
</activity>
</application>
</manifest>

View File

@ -1,3 +0,0 @@
-keep class com.cyanogenmod.settings.device.* {
*;
}

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Gesture shortcuts -->
<string name="screen_gestures_panel_title">Gestures</string>
<string name="screen_gestures_panel_summary">Use gestures to perform actions</string>
<string name="hand_wave_gesture_title">Hand wave</string>
<string name="hand_wave_gesture_summary">Pulse notifications on hand wave</string>
<string name="pocket_gesture_title">Pocket</string>
<string name="pocket_gesture_summary">Pulse notifications on removal from pocket</string>
</resources>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 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.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:key="gesture_hand_wave"
android:defaultValue="true"
android:title="@string/hand_wave_gesture_title"
android:summary="@string/hand_wave_gesture_summary" />
<SwitchPreference
android:key="gesture_pocket"
android:defaultValue="false"
android:title="@string/pocket_gesture_title"
android:summary="@string/pocket_gesture_summary" />
</PreferenceScreen>

View File

@ -1,35 +0,0 @@
/*
* Copyright (c) 2015 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 com.cyanogenmod.settings.device;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootCompletedReceiver extends BroadcastReceiver {
private static final boolean DEBUG = false;
private static final String TAG = "KlteDoze";
@Override
public void onReceive(final Context context, Intent intent) {
if (DEBUG) Log.d(TAG, "Starting service");
context.startService(new Intent(context, KlteDozeService.class));
}
}

View File

@ -1,190 +0,0 @@
/*
* Copyright (c) 2015 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 com.cyanogenmod.settings.device;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.IBinder;
import android.os.PowerManager;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
public class KlteDozeService extends Service {
private static final String TAG = "KlteDozeService";
private static final boolean DEBUG = false;
private static final String DOZE_INTENT = "com.android.systemui.doze.pulse";
private static final String GESTURE_HAND_WAVE_KEY = "gesture_hand_wave";
private static final String GESTURE_POCKET_KEY = "gesture_pocket";
private static final int POCKET_DELTA_NS = 1000 * 1000 * 1000;
private Context mContext;
private KlteProximitySensor mSensor;
private PowerManager mPowerManager;
private boolean mHandwaveGestureEnabled = false;
private boolean mPocketGestureEnabled = false;
class KlteProximitySensor implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mSensor;
private boolean mSawNear = false;
private long mInPocketTime = 0;
public KlteProximitySensor(Context context) {
mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
}
@Override
public void onSensorChanged(SensorEvent event) {
boolean isNear = event.values[0] < mSensor.getMaximumRange();
if (mSawNear && !isNear) {
if (shouldPulse(event.timestamp)) {
launchDozePulse();
}
} else {
mInPocketTime = event.timestamp;
}
mSawNear = isNear;
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
/* Empty */
}
private boolean shouldPulse(long timestamp) {
long delta = timestamp - mInPocketTime;
if (mHandwaveGestureEnabled && mPocketGestureEnabled) {
return true;
} else if (mHandwaveGestureEnabled && !mPocketGestureEnabled) {
return delta < POCKET_DELTA_NS;
} else if (!mHandwaveGestureEnabled && mPocketGestureEnabled) {
return delta >= POCKET_DELTA_NS;
}
return false;
}
public void enable() {
if (mHandwaveGestureEnabled) {
mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_NORMAL);
}
}
public void disable() {
mSensorManager.unregisterListener(this, mSensor);
}
}
@Override
public void onCreate() {
if (DEBUG) Log.d(TAG, "KlteDozeService Started");
mContext = this;
mPowerManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
mSensor = new KlteProximitySensor(mContext);
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
loadPreferences(sharedPrefs);
sharedPrefs.registerOnSharedPreferenceChangeListener(mPrefListener);
if (!isInteractive() && isDozeEnabled()) {
mSensor.enable();
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (DEBUG) Log.d(TAG, "Starting service");
IntentFilter screenStateFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
screenStateFilter.addAction(Intent.ACTION_SCREEN_OFF);
mContext.registerReceiver(mScreenStateReceiver, screenStateFilter);
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
private void launchDozePulse() {
mContext.sendBroadcast(new Intent(DOZE_INTENT));
}
private boolean isInteractive() {
return mPowerManager.isInteractive();
}
private boolean isDozeEnabled() {
return Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.DOZE_ENABLED, 1) != 0;
}
private void onDisplayOn() {
if (DEBUG) Log.d(TAG, "Display on");
mSensor.disable();
}
private void onDisplayOff() {
if (DEBUG) Log.d(TAG, "Display off");
if (isDozeEnabled()) {
mSensor.enable();
}
}
private void loadPreferences(SharedPreferences sharedPreferences) {
mHandwaveGestureEnabled = sharedPreferences.getBoolean(GESTURE_HAND_WAVE_KEY, true);
mPocketGestureEnabled = sharedPreferences.getBoolean(GESTURE_POCKET_KEY, true);
}
private BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
onDisplayOff();
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
onDisplayOn();
}
}
};
private SharedPreferences.OnSharedPreferenceChangeListener mPrefListener =
new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (GESTURE_HAND_WAVE_KEY.equals(key)) {
mHandwaveGestureEnabled = sharedPreferences.getBoolean(GESTURE_HAND_WAVE_KEY, true);
} else if (GESTURE_POCKET_KEY.equals(key)) {
mPocketGestureEnabled = sharedPreferences.getBoolean(key, true);
}
}
};
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2015 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 com.cyanogenmod.settings.device;
import com.android.internal.util.cm.ScreenType;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class TouchscreenGestureSettings extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.gesture_panel);
}
@Override
protected void onResume() {
super.onResume();
// If running on a phone, remove padding around the listview
if (!ScreenType.isTablet(this)) {
getListView().setPadding(0, 0, 0, 0);
}
}
}

View File

@ -60,10 +60,6 @@ PRODUCT_PACKAGES += \
camera.msm8974 \
libxml2
# Doze
PRODUCT_PACKAGES += \
KlteDoze
# GPS
PRODUCT_PACKAGES += \
gps.msm8974

View File

@ -83,13 +83,6 @@
The user is forbidden from setting the brightness below this level. -->
<integer name="config_screenBrightnessSettingMinimum">10</integer>
<!-- Screen brightness when dozing. -->
<integer name="config_screenBrightnessDoze">17</integer>
<!-- Dream of notifications -->
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
<bool name="config_dozeAfterScreenOff">true</bool>
<!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
Please don't copy them, copy anything else. -->