From 5d540391f0f1aab6eb664007f22a6389ab9469e5 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Tue, 10 Jul 2012 16:48:01 +0200 Subject: AriesParts: disabled TvOut (relies on a non-free library) Signed-off-by: Paul Kocialkowski --- AriesParts/AndroidManifest.xml | 1 - AriesParts/src/android/hardware/TvOut.java | 70 ---------- .../src/com/cyanogenmod/AriesParts/AriesParts.java | 52 -------- .../com/cyanogenmod/AriesParts/TvOutService.java | 146 --------------------- 4 files changed, 269 deletions(-) delete mode 100644 AriesParts/src/android/hardware/TvOut.java delete mode 100644 AriesParts/src/com/cyanogenmod/AriesParts/TvOutService.java diff --git a/AriesParts/AndroidManifest.xml b/AriesParts/AndroidManifest.xml index 8c8872a..d108fb8 100644 --- a/AriesParts/AndroidManifest.xml +++ b/AriesParts/AndroidManifest.xml @@ -15,6 +15,5 @@ - diff --git a/AriesParts/src/android/hardware/TvOut.java b/AriesParts/src/android/hardware/TvOut.java deleted file mode 100644 index 6c0936e..0000000 --- a/AriesParts/src/android/hardware/TvOut.java +++ /dev/null @@ -1,70 +0,0 @@ -package android.hardware; - -import java.lang.ref.WeakReference; - -import android.graphics.Bitmap; -import android.util.Log; - -public class TvOut { - private static final String TAG = "TvOut"; - - private int mListenerContext; - private int mNativeContext; - - public native void _DisableTvOut(); - - public native void _EnableTvOut(); - - public native void _SetOrientation(int paramInt); - - public native void _SetTvScreenSize(int paramInt); - - public native void _SetTvSystem(int paramInt); - - public native void _TvOutResume(int paramInt); - - public native void _TvOutSetImageString(String paramString); - - public native void _TvOutSuspend(String paramString); - - public native boolean _TvoutSubtitleIsEnable(); - - public native boolean _TvoutSubtitlePostBitmap(Bitmap paramBitmap, int paramInt); - - public native boolean _TvoutSubtitleSetStatus(int paramInt); - - public native int _getSubtitleHDMIHeight(); - - public native int _getSubtitleHDMIWidth(); - - public native boolean _isEnabled(); - - public native boolean _isSuspended(); - - public native boolean _isTvoutCableConnected(); - - private final native void _native_setup(Object paramObject); - - private final native void _release(); - - public native void _setTvoutCableConnected(int paramInt); - - static { - System.loadLibrary("tvout_jni"); - } - - public TvOut() { - _native_setup(new WeakReference(this)); - } - - public void finalize() { - _release(); - } - - private static void postEventFromNative(Object tvOutRef, int what, int arg1, int arg2, Object obj) { - TvOut tvOut = (TvOut)((WeakReference)tvOutRef).get(); - - Log.d(TAG, "Native Event: " + what + " " + arg1 + " " + arg2); - } - -} \ No newline at end of file diff --git a/AriesParts/src/com/cyanogenmod/AriesParts/AriesParts.java b/AriesParts/src/com/cyanogenmod/AriesParts/AriesParts.java index 3d6a68f..4dfb944 100644 --- a/AriesParts/src/com/cyanogenmod/AriesParts/AriesParts.java +++ b/AriesParts/src/com/cyanogenmod/AriesParts/AriesParts.java @@ -4,7 +4,6 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.hardware.TvOut; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; @@ -16,22 +15,16 @@ public class AriesParts extends PreferenceActivity { public static final String KEY_COLOR_TUNING = "color_tuning"; public static final String KEY_BACKLIGHT_TIMEOUT = "backlight_timeout"; public static final String KEY_HSPA = "hspa"; - public static final String KEY_TVOUT_ENABLE = "tvout_enable"; - public static final String KEY_TVOUT_SYSTEM = "tvout_system"; private ColorTuningPreference mColorTuning; private ListPreference mBacklightTimeout; private ListPreference mHspa; - private CheckBoxPreference mTvOutEnable; - private ListPreference mTvOutSystem; - private TvOut mTvOut; private BroadcastReceiver mHeadsetReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int state = intent.getIntExtra("state", 0); - updateTvOutEnable(state != 0); } }; @@ -51,40 +44,6 @@ public class AriesParts extends PreferenceActivity { mHspa = (ListPreference) findPreference(KEY_HSPA); mHspa.setEnabled(Hspa.isSupported()); mHspa.setOnPreferenceChangeListener(new Hspa(this)); - - mTvOut = new TvOut(); - mTvOutEnable = (CheckBoxPreference) findPreference(KEY_TVOUT_ENABLE); - mTvOutEnable.setChecked(mTvOut._isEnabled()); - - mTvOutEnable.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { - - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - boolean enable = (Boolean) newValue; - Intent i = new Intent(AriesParts.this, TvOutService.class); - i.putExtra(TvOutService.EXTRA_COMMAND, enable ? TvOutService.COMMAND_ENABLE : TvOutService.COMMAND_DISABLE); - startService(i); - return true; - } - - }); - - mTvOutSystem = (ListPreference) findPreference(KEY_TVOUT_SYSTEM); - mTvOutSystem.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { - - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - if (mTvOut._isEnabled()) { - int newSystem = Integer.valueOf((String) newValue); - Intent i = new Intent(AriesParts.this, TvOutService.class); - i.putExtra(TvOutService.EXTRA_COMMAND, TvOutService.COMMAND_CHANGE_SYSTEM); - i.putExtra(TvOutService.EXTRA_SYSTEM, newSystem); - startService(i); - } - return true; - } - - }); } @Override @@ -99,19 +58,8 @@ public class AriesParts extends PreferenceActivity { unregisterReceiver(mHeadsetReceiver); } - private void updateTvOutEnable(boolean connected) { - mTvOutEnable.setEnabled(connected); - mTvOutEnable.setSummaryOff(connected ? R.string.tvout_enable_summary : R.string.tvout_enable_summary_nocable); - - if (!connected && mTvOutEnable.isChecked()) { - // Disable on unplug (UI) - mTvOutEnable.setChecked(false); - } - } - @Override protected void onDestroy() { - mTvOut.finalize(); super.onDestroy(); } diff --git a/AriesParts/src/com/cyanogenmod/AriesParts/TvOutService.java b/AriesParts/src/com/cyanogenmod/AriesParts/TvOutService.java deleted file mode 100644 index 3f6216f..0000000 --- a/AriesParts/src/com/cyanogenmod/AriesParts/TvOutService.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.cyanogenmod.AriesParts; - -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.TvOut; -import android.os.IBinder; -import android.os.RemoteException; -import android.os.ServiceManager; -import android.os.SystemProperties; -import android.preference.PreferenceManager; -import android.view.Display; -import android.view.IRotationWatcher; -import android.view.IWindowManager; -import android.view.WindowManager; - -public class TvOutService extends Service { - - public static final String EXTRA_COMMAND = "command"; - public static final String EXTRA_SYSTEM = "system"; - public static final String COMMAND_ENABLE = "enable"; - public static final String COMMAND_DISABLE = "disable"; - public static final String COMMAND_CHANGE_SYSTEM = "system"; - - private TvOut mTvOut; - private SharedPreferences mPref; - private int mSystem; - private boolean mWasOn = false; // For enabling on screen on - - private BroadcastReceiver mReceiver = new BroadcastReceiver() { - - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - if (Intent.ACTION_HEADSET_PLUG.equals(action)) { - int state = intent.getIntExtra("state", 0); - if (state == 0 && mTvOut._isEnabled()) { - // Disable when cable is unplugged - mWasOn = false; - disable(); - stopSelf(); - } - } - else if (Intent.ACTION_SCREEN_ON.equals(action)) { - if (mWasOn) { - SystemProperties.set("ctl.start", "tvouthack"); - mWasOn = false; - } - } - else if (Intent.ACTION_SCREEN_OFF.equals(action)) { - if (mTvOut._isEnabled()) { - mWasOn = true; - SystemProperties.set("ctl.stop", "tvouthack"); - } - } - } - - }; - - @Override - public IBinder onBind(Intent intent) { - return null; - } - - @Override - public void onCreate() { - mTvOut = new TvOut(); - mPref = PreferenceManager.getDefaultSharedPreferences(this); - - IWindowManager wm = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); - try { - wm.watchRotation(new IRotationWatcher.Stub() { - @Override - public void onRotationChanged(int rotation) { - TvOutService.this.onRotationChanged(rotation); - } - }); - } - catch (RemoteException e) { } - - IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); - filter.addAction(Intent.ACTION_SCREEN_OFF); - filter.addAction(Intent.ACTION_SCREEN_ON); - registerReceiver(mReceiver, filter); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - if (intent != null) { - String command = intent.getStringExtra("command"); - if (COMMAND_ENABLE.equals(command)) { - mSystem = Integer.parseInt(mPref.getString(AriesParts.KEY_TVOUT_SYSTEM, "2")); // Default = PAL - enable(); - } - else if (COMMAND_DISABLE.equals(command)) { - disable(); - stopSelf(); - } - else if (COMMAND_CHANGE_SYSTEM.equals(command)) { - if (mTvOut._isEnabled()) { - mSystem = intent.getIntExtra(EXTRA_SYSTEM, 2); - disable(); - enable(); - } - } - } - - return START_STICKY; - } - - @Override - public void onDestroy() { - unregisterReceiver(mReceiver); - mTvOut.finalize(); - super.onDestroy(); - } - - public void onRotationChanged(int rotation) { - mTvOut._SetOrientation(rotation); - } - - private void enable() { - mTvOut._SetTvSystem(mSystem); - mTvOut._TvOutSetImageString("TV-out not supported while application running. Phone display only"); - - Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); - mTvOut._SetOrientation(display.getRotation()); - - mTvOut._EnableTvOut(); - mTvOut._setTvoutCableConnected(1); - - // Start tvouthack service used to bombard screen refresh messages - SystemProperties.set("ctl.start", "tvouthack"); - } - - private void disable() { - SystemProperties.set("ctl.stop", "tvouthack"); - - mTvOut._DisableTvOut(); - mTvOut._setTvoutCableConnected(0); - } - -} -- cgit v1.1