Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f86ee14f authored by satok's avatar satok Committed by Android (Google) Code Review
Browse files

Merge "Create TextServiceManager and SpellCheckerService"

parents c6080b3c eaddb894
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ LOCAL_SRC_FILES += \
	core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl\
	core/java/android/view/accessibility/IAccessibilityManager.aidl \
	core/java/android/view/accessibility/IAccessibilityManagerClient.aidl \
	core/java/android/view/inputmethod/ISpellCheckerService.aidl \
	core/java/android/view/IApplicationToken.aidl \
	core/java/android/view/IOnKeyguardExitResult.aidl \
	core/java/android/view/IRotationWatcher.aidl \
@@ -163,6 +164,7 @@ LOCAL_SRC_FILES += \
	core/java/com/android/internal/view/IInputMethodClient.aidl \
	core/java/com/android/internal/view/IInputMethodManager.aidl \
	core/java/com/android/internal/view/IInputMethodSession.aidl \
	core/java/com/android/internal/view/ITextServiceManager.aidl \
	core/java/com/android/internal/widget/IRemoteViewsFactory.aidl \
	core/java/com/android/internal/widget/IRemoteViewsAdapterConnection.aidl \
	keystore/java/android/security/IKeyChainAliasCallback.aidl \
@@ -270,6 +272,7 @@ aidl_files := \
	frameworks/base/core/java/com/android/internal/view/IInputMethodClient.aidl \
	frameworks/base/core/java/com/android/internal/view/IInputMethodManager.aidl \
	frameworks/base/core/java/com/android/internal/view/IInputMethodSession.aidl \
	frameworks/base/core/java/com/android/internal/view/ITextServiceManager.aidl \
	frameworks/base/graphics/java/android/graphics/Bitmap.aidl \
	frameworks/base/graphics/java/android/graphics/Rect.aidl \
	frameworks/base/graphics/java/android/graphics/Region.aidl \
+48 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package android {
    field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
    field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
    field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_WALLPAPER = "android.permission.BIND_WALLPAPER";
    field public static final java.lang.String BLUETOOTH = "android.permission.BLUETOOTH";
    field public static final java.lang.String BLUETOOTH_ADMIN = "android.permission.BLUETOOTH_ADMIN";
@@ -4733,6 +4734,7 @@ package android.content {
    field public static final java.lang.String SENSOR_SERVICE = "sensor";
    field public static final java.lang.String STORAGE_SERVICE = "storage";
    field public static final java.lang.String TELEPHONY_SERVICE = "phone";
    field public static final java.lang.String TEXT_SERVICE_MANAGER_SERVICE = "text_service_manager_service";
    field public static final java.lang.String UI_MODE_SERVICE = "uimode";
    field public static final java.lang.String USB_SERVICE = "usb";
    field public static final java.lang.String VIBRATOR_SERVICE = "vibrator";
@@ -23336,6 +23338,19 @@ package android.view.inputmethod {
    field public int token;
  }
  public abstract interface ISpellCheckerService implements android.os.IInterface {
    method public abstract void cancel() throws android.os.RemoteException;
    method public abstract java.lang.CharSequence getSuggestions(java.lang.CharSequence, int, int, java.lang.String) throws android.os.RemoteException;
    method public abstract boolean isCorrect(java.lang.CharSequence, int, int, java.lang.String) throws android.os.RemoteException;
  }
  public static abstract class ISpellCheckerService.Stub extends android.os.Binder implements android.view.inputmethod.ISpellCheckerService {
    ctor public ISpellCheckerService.Stub();
    method public android.os.IBinder asBinder();
    method public static android.view.inputmethod.ISpellCheckerService asInterface(android.os.IBinder);
    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
  }
  public final class InputBinding implements android.os.Parcelable {
    ctor public InputBinding(android.view.inputmethod.InputConnection, android.os.IBinder, int, int);
    ctor public InputBinding(android.view.inputmethod.InputConnection, android.view.inputmethod.InputBinding);
@@ -23520,6 +23535,39 @@ package android.view.inputmethod {
    field public static final android.os.Parcelable.Creator CREATOR;
  }
  public final class SpellCheckerInfo implements android.os.Parcelable {
    method public int describeContents();
    method public android.content.ComponentName getComponent();
    method public java.lang.String getId();
    method public java.lang.String getPackageName();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
  }
  public abstract class SpellCheckerService extends android.app.Service {
    ctor public SpellCheckerService();
    method protected void cancel();
    method protected static java.util.Locale constructLocaleFromString(java.lang.String);
    method protected abstract java.lang.String[] getStringSuggestions(java.lang.CharSequence, int, int, java.lang.String);
    method protected java.lang.CharSequence getSuggestions(java.lang.CharSequence, int, int, java.lang.String);
    method protected abstract boolean isCorrect(java.lang.CharSequence, int, int, java.lang.String);
    method public final android.os.IBinder onBind(android.content.Intent);
    field public static final java.lang.String SERVICE_INTERFACE;
  }
  public final class TextServiceManager {
    method public void getSuggestions(java.lang.CharSequence, int, int, java.util.Locale, boolean, android.view.inputmethod.TextServiceManager.Callback);
    method public void isCorrect(java.lang.CharSequence, android.view.inputmethod.TextServiceManager.Callback);
    method public void isCorrect(java.lang.CharSequence, java.util.Locale, android.view.inputmethod.TextServiceManager.Callback);
    method public void isCorrect(java.lang.CharSequence, int, int, java.util.Locale, android.view.inputmethod.TextServiceManager.Callback);
    method public android.view.inputmethod.SpellCheckerInfo requestSpellCheckerConnection(java.util.Locale);
  }
  public static abstract interface TextServiceManager.Callback {
    method public abstract void getSuggestionsResult(java.lang.CharSequence, int, int, java.util.Locale, java.lang.CharSequence);
    method public abstract void isCorrectResult(java.lang.CharSequence, int, int, java.util.Locale, boolean);
  }
}
package android.webkit {
+6 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ import android.view.Display;
import android.view.WindowManagerImpl;
import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.TextServiceManager;
import android.accounts.AccountManager;
import android.accounts.IAccountManager;
import android.app.admin.DevicePolicyManager;
@@ -321,6 +322,11 @@ class ContextImpl extends Context {
                    return InputMethodManager.getInstance(ctx);
                }});

        registerService(TEXT_SERVICE_MANAGER_SERVICE, new ServiceFetcher() {
                public Object createService(ContextImpl ctx) {
                    return TextServiceManager.getInstance(ctx);
                }});

        registerService(KEYGUARD_SERVICE, new ServiceFetcher() {
                public Object getService(ContextImpl ctx) {
                    // TODO: why isn't this caching it?  It wasn't
+9 −0
Original line number Diff line number Diff line
@@ -1598,6 +1598,15 @@ public abstract class Context {
     */
    public static final String INPUT_METHOD_SERVICE = "input_method";

    /**
     * Use with {@link #getSystemService} to retrieve a
     * {@link android.view.inputmethod.TextServiceManager} for accessing
     * text services.
     *
     * @see #getSystemService
     */
    public static final String TEXT_SERVICE_MANAGER_SERVICE = "text_service_manager_service";

    /**
     * Use with {@link #getSystemService} to retrieve a
     * {@link android.appwidget.AppWidgetManager} for accessing AppWidgets.
+9 −3
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.provider;



import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.content.ComponentName;
@@ -47,7 +45,6 @@ import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.HashSet;


/**
 * The Settings provider contains global system-level device preferences.
 */
@@ -3633,6 +3630,15 @@ public final class Settings {
         */
        public static final String VOICE_RECOGNITION_SERVICE = "voice_recognition_service";


        /**
         * The {@link ComponentName} string of the service to be used as the spell checker
         * service which is one of the services managed by the text service manager.
         *
         * @hide
         */
        public static final String SPELL_CHECKER_SERVICE = "spell_checker_service";

        /**
         * What happens when the user presses the Power button while in-call
         * and the screen is on.<br/>
Loading