diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2014-07-30 20:18:48 -0700 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2014-08-04 23:00:43 +0000 |
commit | 1840e8f2c73570e7b51c66c03d3a50bd00f3f742 (patch) | |
tree | 731ea65ab7f7abf4f06a0fd348071b61f320078a /tools | |
parent | d2a411840c58eaee05499bab0190e3f3656e2e84 (diff) | |
download | frameworks_base-1840e8f2c73570e7b51c66c03d3a50bd00f3f742.zip frameworks_base-1840e8f2c73570e7b51c66c03d3a50bd00f3f742.tar.gz frameworks_base-1840e8f2c73570e7b51c66c03d3a50bd00f3f742.tar.bz2 |
Fix Delegates
Change-Id: I2b6a6b679b7a5b2532b76b723155bc2763b70768
Diffstat (limited to 'tools')
7 files changed, 185 insertions, 187 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java index 2ff0fc1..be75dde 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java @@ -132,20 +132,6 @@ public final class Canvas_Delegate { } @LayoutlibDelegate - /*package*/ static long initCanvas(long nativeCanvas) { - // get the delegate from the native int. - Canvas_Delegate nativeCanvasDelegate = sManager.getDelegate(nativeCanvas); - if (nativeCanvasDelegate == null) { - return 0; - } - - Canvas_Delegate newDelegate = new Canvas_Delegate(); - - // TODO: actually copy the canvas state. - return sManager.addNewDelegate(newDelegate); - } - - @LayoutlibDelegate /*package*/ static void native_setBitmap(long canvas, long bitmap, boolean copyState) { Canvas_Delegate canvasDelegate = sManager.getDelegate(canvas); @@ -498,24 +484,6 @@ public final class Canvas_Delegate { } @LayoutlibDelegate - /*package*/ static void native_drawRGB(long nativeCanvas, int r, int g, int b) { - native_drawColor(nativeCanvas, 0xFF000000 | r << 16 | (g&0xFF) << 8 | (b&0xFF), - PorterDuff.Mode.SRC_OVER.nativeInt); - - } - - @LayoutlibDelegate - /*package*/ static void native_drawARGB(long nativeCanvas, int a, int r, int g, int b) { - native_drawColor(nativeCanvas, a << 24 | (r&0xFF) << 16 | (g&0xFF) << 8 | (b&0xFF), - PorterDuff.Mode.SRC_OVER.nativeInt); - } - - @LayoutlibDelegate - /*package*/ static void native_drawColor(long nativeCanvas, int color) { - native_drawColor(nativeCanvas, color, PorterDuff.Mode.SRC_OVER.nativeInt); - } - - @LayoutlibDelegate /*package*/ static void native_drawColor(long nativeCanvas, final int color, final int mode) { // get the delegate from the native int. Canvas_Delegate canvasDelegate = sManager.getDelegate(nativeCanvas); @@ -772,52 +740,18 @@ public final class Canvas_Delegate { @LayoutlibDelegate /*package*/ static void native_drawBitmap(Canvas thisCanvas, long nativeCanvas, long bitmap, - Rect src, RectF dst, - long nativePaintOrZero, - int screenDensity, - int bitmapDensity) { + float srcLeft, float srcTop, float srcRight, float srcBottom, + float dstLeft, float dstTop, float dstRight, float dstBottom, + long nativePaintOrZero, int screenDensity, int bitmapDensity) { // get the delegate from the native int. Bitmap_Delegate bitmapDelegate = Bitmap_Delegate.getDelegate(bitmap); if (bitmapDelegate == null) { return; } - BufferedImage image = bitmapDelegate.getImage(); - - if (src == null) { - drawBitmap(nativeCanvas, bitmapDelegate, nativePaintOrZero, - 0, 0, image.getWidth(), image.getHeight(), - (int)dst.left, (int)dst.top, (int)dst.right, (int)dst.bottom); - } else { - drawBitmap(nativeCanvas, bitmapDelegate, nativePaintOrZero, - src.left, src.top, src.width(), src.height(), - (int)dst.left, (int)dst.top, (int)dst.right, (int)dst.bottom); - } - } - - @LayoutlibDelegate - /*package*/ static void native_drawBitmap(long nativeCanvas, long bitmap, - Rect src, Rect dst, - long nativePaintOrZero, - int screenDensity, - int bitmapDensity) { - // get the delegate from the native int. - Bitmap_Delegate bitmapDelegate = Bitmap_Delegate.getDelegate(bitmap); - if (bitmapDelegate == null) { - return; - } - - BufferedImage image = bitmapDelegate.getImage(); - - if (src == null) { - drawBitmap(nativeCanvas, bitmapDelegate, nativePaintOrZero, - 0, 0, image.getWidth(), image.getHeight(), - dst.left, dst.top, dst.right, dst.bottom); - } else { - drawBitmap(nativeCanvas, bitmapDelegate, nativePaintOrZero, - src.left, src.top, src.width(), src.height(), - dst.left, dst.top, dst.right, dst.bottom); - } + drawBitmap(nativeCanvas, bitmapDelegate, nativePaintOrZero, + (int)srcLeft, (int)srcTop, (int)srcRight, (int)srcBottom, + (int)dstLeft, (int)dstTop, (int)dstRight, (int)dstBottom); } @LayoutlibDelegate diff --git a/tools/layoutlib/bridge/src/android/graphics/NinePatch_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/NinePatch_Delegate.java index 74b2893..e16dbda 100644 --- a/tools/layoutlib/bridge/src/android/graphics/NinePatch_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/NinePatch_Delegate.java @@ -215,9 +215,9 @@ public final class NinePatch_Delegate { if (c == null) { // not a 9-patch? BufferedImage image = bitmap_delegate.getImage(); - Canvas_Delegate.native_drawBitmap(canvas_instance, bitmap_instance, - new Rect(0, 0, image.getWidth(), image.getHeight()), - new Rect(left, top, right, bottom), + Canvas_Delegate.native_drawBitmap(null, canvas_instance, bitmap_instance, + 0f, 0f, (float)image.getWidth(), (float)image.getHeight(), + (float)left, (float)top, (float)right, (float)bottom, paint_instance_or_null, destDensity, srcDensity); return; } diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java index 24ef189..73d67a7 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java @@ -1084,6 +1084,22 @@ public class Paint_Delegate { sManager.removeJavaReferenceFor(nativePaint); } + @LayoutlibDelegate + /*package*/ static float native_getLetterSpacing(long nativePaint) { + // TODO: throw a fidelity warning. + return 0; + } + + @LayoutlibDelegate + /*package*/ static void native_setLetterSpacing(long nativePaint, float letterSpacing) { + // pass. + } + + @LayoutlibDelegate + /*package*/ static void native_setFontFeatureSettings(long nativePaint, String settings) { + // pass. + } + // ---- Private delegate/helper methods ---- /*package*/ Paint_Delegate() { diff --git a/tools/layoutlib/bridge/src/android/graphics/Shader_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Shader_Delegate.java index 14e9960..832d0a3 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Shader_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/Shader_Delegate.java @@ -76,19 +76,22 @@ public abstract class Shader_Delegate { // ---- native methods ---- @LayoutlibDelegate - /*package*/ static void nativeDestructor(long native_shader) { + /*package*/ static void nativeDestructor(long native_shader, long native_with_local_matrix) { + // TODO: check what's native_with_local_matrix sManager.removeJavaReferenceFor(native_shader); } @LayoutlibDelegate - /*package*/ static void nativeSetLocalMatrix(long native_shader, long matrix_instance) { + /*package*/ static long nativeSetLocalMatrix(long native_shader, + long native_with_local_matrix, long matrix_instance) { // get the delegate from the native int. Shader_Delegate shaderDelegate = sManager.getDelegate(native_shader); if (shaderDelegate == null) { - return; + return 0; } shaderDelegate.mLocalMatrix = Matrix_Delegate.getDelegate(matrix_instance); + return 0; } // ---- Private delegate/helper methods ---- diff --git a/tools/layoutlib/bridge/src/android/text/format/Time_Delegate.java b/tools/layoutlib/bridge/src/android/text/format/Time_Delegate.java index 320dd0d..ed8498f 100644 --- a/tools/layoutlib/bridge/src/android/text/format/Time_Delegate.java +++ b/tools/layoutlib/bridge/src/android/text/format/Time_Delegate.java @@ -39,91 +39,6 @@ public class Time_Delegate { // Format used by toString() private static final String FORMAT = "%1$tY%1$tm%1$tdT%1$tH%1$tM%1$tS<%1$tZ>"; - @LayoutlibDelegate - /*package*/ static long normalize(Time thisTime, boolean ignoreDst) { - long millis = toMillis(thisTime, ignoreDst); - set(thisTime, millis); - return millis; - } - - @LayoutlibDelegate - /*package*/ static void switchTimezone(Time thisTime, String timezone) { - Calendar c = timeToCalendar(thisTime); - c.setTimeZone(TimeZone.getTimeZone(timezone)); - calendarToTime(c, thisTime); - } - - @LayoutlibDelegate - /*package*/ static int nativeCompare(Time a, Time b) { - return timeToCalendar(a).compareTo(timeToCalendar(b)); - } - - @LayoutlibDelegate - /*package*/ static String format1(Time thisTime, String format) { - - try { - // Change the format by adding changing '%' to "%1$t". This is required to tell the - // formatter which argument to use from the argument list. '%%' is left as is. In the - // replacement string, $0 refers to matched pattern. \\1 means '1', written this way to - // separate it from 0. \\$ means '$', written this way to suppress the special meaning - // of $. - return String.format( - p.matcher(format).replaceAll("$0\\1\\$t"), - timeToCalendar(thisTime)); - } catch (UnknownFormatConversionException e) { - Bridge.getLog().fidelityWarning(LayoutLog.TAG_STRFTIME, "Unrecognized format", e, format); - return format; - } - } - - /** - * Return the current time in YYYYMMDDTHHMMSS<tz> format - */ - @LayoutlibDelegate - /*package*/ static String toString(Time thisTime) { - Calendar c = timeToCalendar(thisTime); - return String.format(FORMAT, c); - } - - @LayoutlibDelegate - /*package*/ static boolean nativeParse(Time thisTime, String s) { - Bridge.getLog().error(LayoutLog.TAG_UNSUPPORTED, - "android.text.format.Time.parse() not supported.", null); - return false; - } - - @LayoutlibDelegate - /*package*/ static boolean nativeParse3339(Time thisTime, String s) { - Bridge.getLog().error(LayoutLog.TAG_UNSUPPORTED, - "android.text.format.Time.parse3339() not supported.", null); - return false; - } - - @LayoutlibDelegate - /*package*/ static void setToNow(Time thisTime) { - calendarToTime(getCalendarInstance(thisTime), thisTime); - } - - @LayoutlibDelegate - /*package*/ static long toMillis(Time thisTime, boolean ignoreDst) { - // TODO: Respect ignoreDst. - return timeToCalendar(thisTime).getTimeInMillis(); - } - - @LayoutlibDelegate - /*package*/ static void set(Time thisTime, long millis) { - Calendar c = getCalendarInstance(thisTime); - c.setTimeInMillis(millis); - calendarToTime(c,thisTime); - } - - @LayoutlibDelegate - /*package*/ static String format2445(Time thisTime) { - Bridge.getLog().error(LayoutLog.TAG_UNSUPPORTED, - "android.text.format.Time.format2445() not supported.", null); - return ""; - } - // ---- private helper methods ---- private static Calendar timeToCalendar(Time time) { diff --git a/tools/layoutlib/bridge/src/android/view/accessibility/AccessibilityManager.java b/tools/layoutlib/bridge/src/android/view/accessibility/AccessibilityManager.java index 1fd7836..d5170aa 100644 --- a/tools/layoutlib/bridge/src/android/view/accessibility/AccessibilityManager.java +++ b/tools/layoutlib/bridge/src/android/view/accessibility/AccessibilityManager.java @@ -16,6 +16,8 @@ package android.view.accessibility; +import com.android.annotations.NonNull; + import android.accessibilityservice.AccessibilityServiceInfo; import android.content.Context; import android.content.pm.ServiceInfo; @@ -31,14 +33,16 @@ import java.util.List; * for example an {@link android.app.Activity} starts, the focus or selection of a * {@link android.view.View} changes etc. Parties interested in handling accessibility * events implement and register an accessibility service which extends - * {@link android.accessibilityservice.AccessibilityService}. + * {@code android.accessibilityservice.AccessibilityService}. * * @see AccessibilityEvent - * @see android.accessibilityservice.AccessibilityService * @see android.content.Context#getSystemService */ +@SuppressWarnings("UnusedDeclaration") public final class AccessibilityManager { - private static AccessibilityManager sInstance = new AccessibilityManager(); + + private static AccessibilityManager sInstance = new AccessibilityManager(null, null, 0); + /** * Listener for the accessibility state. @@ -54,9 +58,46 @@ public final class AccessibilityManager { } /** + * Listener for the system touch exploration state. To listen for changes to + * the touch exploration state on the device, implement this interface and + * register it with the system by calling + * {@link #addTouchExplorationStateChangeListener}. + */ + public interface TouchExplorationStateChangeListener { + + /** + * Called when the touch exploration enabled state changes. + * + * @param enabled Whether touch exploration is enabled. + */ + public void onTouchExplorationStateChanged(boolean enabled); + } + + /** + * Listener for the system high text contrast state. To listen for changes to + * the high text contrast state on the device, implement this interface and + * register it with the system by calling + * {@link #addHighTextContrastStateChangeListener}. + */ + public interface HighTextContrastChangeListener { + + /** + * Called when the high text contrast enabled state changes. + * + * @param enabled Whether high text contrast is enabled. + */ + public void onHighTextContrastStateChanged(boolean enabled); + } + + private final IAccessibilityManagerClient.Stub mClient = + new IAccessibilityManagerClient.Stub() { + public void setState(int state) { + } + }; + + /** * Get an AccessibilityManager instance (create one if necessary). * - * @hide */ public static AccessibilityManager getInstance(Context context) { return sInstance; @@ -67,7 +108,11 @@ public final class AccessibilityManager { * * @param context A {@link Context}. */ - private AccessibilityManager() { + public AccessibilityManager(Context context, IAccessibilityManager service, int userId) { + } + + public IAccessibilityManagerClient getClient() { + return mClient; } /** @@ -80,13 +125,28 @@ public final class AccessibilityManager { } /** - * Sends an {@link AccessibilityEvent}. If this {@link AccessibilityManager} is not - * enabled the call is a NOOP. + * Returns if the touch exploration in the system is enabled. * - * @param event The {@link AccessibilityEvent}. + * @return True if touch exploration is enabled, false otherwise. + */ + public boolean isTouchExplorationEnabled() { + return true; + } + + /** + * Returns if the high text contrast in the system is enabled. + * <p> + * <strong>Note:</strong> You need to query this only if you application is + * doing its own rendering and does not rely on the platform rendering pipeline. + * </p> * - * @throws IllegalStateException if a client tries to send an {@link AccessibilityEvent} - * while accessibility is not enabled. + */ + public boolean isHighTextContrastEnabled() { + return false; + } + + /** + * Sends an {@link AccessibilityEvent}. */ public void sendAccessibilityEvent(AccessibilityEvent event) { } @@ -102,20 +162,40 @@ public final class AccessibilityManager { * * @return An unmodifiable list with {@link ServiceInfo}s. */ + @Deprecated public List<ServiceInfo> getAccessibilityServiceList() { - // normal implementation does this in some case, so let's do the same - // (unmodifiableList wrapped around null). - List<ServiceInfo> services = null; - return Collections.unmodifiableList(services); + return Collections.emptyList(); } public List<AccessibilityServiceInfo> getInstalledAccessibilityServiceList() { - // normal implementation does this in some case, so let's do the same - // (unmodifiableList wrapped around null). - List<AccessibilityServiceInfo> services = null; - return Collections.unmodifiableList(services); + return Collections.emptyList(); + } + + /** + * Returns the {@link AccessibilityServiceInfo}s of the enabled accessibility services + * for a given feedback type. + * + * @param feedbackTypeFlags The feedback type flags. + * @return An unmodifiable list with {@link AccessibilityServiceInfo}s. + * + * @see AccessibilityServiceInfo#FEEDBACK_AUDIBLE + * @see AccessibilityServiceInfo#FEEDBACK_GENERIC + * @see AccessibilityServiceInfo#FEEDBACK_HAPTIC + * @see AccessibilityServiceInfo#FEEDBACK_SPOKEN + * @see AccessibilityServiceInfo#FEEDBACK_VISUAL + */ + public List<AccessibilityServiceInfo> getEnabledAccessibilityServiceList( + int feedbackTypeFlags) { + return Collections.emptyList(); } + /** + * Registers an {@link AccessibilityStateChangeListener} for changes in + * the global accessibility state of the system. + * + * @param listener The listener. + * @return True if successfully registered. + */ public boolean addAccessibilityStateChangeListener( AccessibilityStateChangeListener listener) { return true; @@ -126,6 +206,62 @@ public final class AccessibilityManager { return true; } + /** + * Registers a {@link TouchExplorationStateChangeListener} for changes in + * the global touch exploration state of the system. + * + * @param listener The listener. + * @return True if successfully registered. + */ + public boolean addTouchExplorationStateChangeListener( + @NonNull TouchExplorationStateChangeListener listener) { + return true; + } + + /** + * Unregisters a {@link TouchExplorationStateChangeListener}. + * + * @param listener The listener. + * @return True if successfully unregistered. + */ + public boolean removeTouchExplorationStateChangeListener( + @NonNull TouchExplorationStateChangeListener listener) { + return true; + } + + /** + * Registers a {@link HighTextContrastChangeListener} for changes in + * the global high text contrast state of the system. + * + * @param listener The listener. + * @return True if successfully registered. + * + */ + public boolean addHighTextContrastStateChangeListener( + @NonNull HighTextContrastChangeListener listener) { + return true; + } + + /** + * Unregisters a {@link HighTextContrastChangeListener}. + * + * @param listener The listener. + * @return True if successfully unregistered. + * + */ + public boolean removeHighTextContrastStateChangeListener( + @NonNull HighTextContrastChangeListener listener) { + return true; + } + + /** + * Sets the current state and notifies listeners, if necessary. + * + * @param stateFlags The state flags. + */ + private void setStateLocked(int stateFlags) { + } + public int addAccessibilityInteractionConnection(IWindow windowToken, IAccessibilityInteractionConnection connection) { return View.NO_ID; diff --git a/tools/layoutlib/bridge/src/libcore/icu/ICU_Delegate.java b/tools/layoutlib/bridge/src/libcore/icu/ICU_Delegate.java index 71947b0..8898856 100644 --- a/tools/layoutlib/bridge/src/libcore/icu/ICU_Delegate.java +++ b/tools/layoutlib/bridge/src/libcore/icu/ICU_Delegate.java @@ -177,12 +177,6 @@ public class ICU_Delegate { return Locale.getISOCountries(); } - - @LayoutlibDelegate - /*package*/ static String localeForLanguageTag(String languageTag, boolean strict) { - return ""; - } - @LayoutlibDelegate /*package*/ static boolean initLocaleDataNative(String locale, LocaleData result) { |