From 4a48d6a8e7796bfc43baf9fd00da1028e294fb56 Mon Sep 17 00:00:00 2001 From: Steven Luo Date: Sat, 14 Jan 2012 04:23:58 -0800 Subject: [PATCH] Make the project build with and target API 11 * Update project.properties to build with API 11 * Update AndroidManifest.xml to indicate that we target API 11 * Uncomment API 11+ specific material in EmulatorView * Add compatibility class for Activity methods new in API 11 * Call invalidateOptionsMenu() where necessary Signed-off-by: Jack Palevich --- AndroidManifest.xml | 2 +- project.properties | 2 +- src/jackpal/androidterm/EmulatorView.java | 3 +- src/jackpal/androidterm/Term.java | 3 ++ src/jackpal/androidterm/compat/ActivityCompat.java | 36 ++++++++++++++++++++++ 5 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 src/jackpal/androidterm/compat/ActivityCompat.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 8fd8976..b8db85b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -23,6 +23,6 @@ android:label="@string/window_list" /> - + diff --git a/project.properties b/project.properties index f049142..d79abae 100644 --- a/project.properties +++ b/project.properties @@ -8,4 +8,4 @@ # project structure. # Project target. -target=android-10 +target=android-11 diff --git a/src/jackpal/androidterm/EmulatorView.java b/src/jackpal/androidterm/EmulatorView.java index 793f419..3ecb6d8 100644 --- a/src/jackpal/androidterm/EmulatorView.java +++ b/src/jackpal/androidterm/EmulatorView.java @@ -41,6 +41,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.CompletionInfo; +import android.view.inputmethod.CorrectionInfo; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.ExtractedText; import android.view.inputmethod.ExtractedTextRequest; @@ -460,14 +461,12 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe return true; } - /** API Level 11, we are currently at API level 10, so don't use this. public boolean commitCorrection (CorrectionInfo correctionInfo) { if (TermDebug.LOG_IME) { Log.w(TAG, "commitCorrection"); } return true; } - */ public boolean commitText(CharSequence text, int newCursorPosition) { if (TermDebug.LOG_IME) { diff --git a/src/jackpal/androidterm/Term.java b/src/jackpal/androidterm/Term.java index b9da426..ec7e429 100644 --- a/src/jackpal/androidterm/Term.java +++ b/src/jackpal/androidterm/Term.java @@ -51,6 +51,7 @@ import android.view.inputmethod.InputMethodManager; import android.widget.FrameLayout; import android.widget.Toast; +import jackpal.androidterm.compat.ActivityCompat; import jackpal.androidterm.compat.AndroidCompat; import jackpal.androidterm.model.UpdateCallback; import jackpal.androidterm.session.TermSession; @@ -673,6 +674,7 @@ public class Term extends Activity implements UpdateCallback { } else { mWakeLock.acquire(); } + ActivityCompat.invalidateOptionsMenu(this); } private void doToggleWifiLock() { @@ -681,5 +683,6 @@ public class Term extends Activity implements UpdateCallback { } else { mWifiLock.acquire(); } + ActivityCompat.invalidateOptionsMenu(this); } } diff --git a/src/jackpal/androidterm/compat/ActivityCompat.java b/src/jackpal/androidterm/compat/ActivityCompat.java new file mode 100644 index 0000000..97c3fcc --- /dev/null +++ b/src/jackpal/androidterm/compat/ActivityCompat.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2011 Steven Luo + * + * 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 jackpal.androidterm.compat; + +import android.app.Activity; + +/** + * Compatibility class for android.app.Activity + */ +public class ActivityCompat { + private static class Api11OrLater { + public static void invalidateOptionsMenu(Activity activity) { + activity.invalidateOptionsMenu(); + } + } + + public static void invalidateOptionsMenu(Activity activity) { + if (AndroidCompat.SDK >= 11) { + Api11OrLater.invalidateOptionsMenu(activity); + } + } +} -- 2.11.0