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

Commit 998d03bd authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

Merge "A new clock widget to create lock screen appwidgets" into jb-mr1-dev

parents 8761e143 3d1728c0
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -491,6 +491,8 @@ package android {
    field public static final int foreground = 16843017; // 0x1010109
    field public static final int foregroundGravity = 16843264; // 0x1010200
    field public static final int format = 16843013; // 0x1010105
    field public static final int format12Hour = 16843722; // 0x10103ca
    field public static final int format24Hour = 16843723; // 0x10103cb
    field public static final int fragment = 16843491; // 0x10102e3
    field public static final int fragmentCloseEnterAnimation = 16843495; // 0x10102e7
    field public static final int fragmentCloseExitAnimation = 16843496; // 0x10102e8
@@ -1074,6 +1076,7 @@ package android {
    field public static final int thumbTextPadding = 16843634; // 0x1010372
    field public static final int thumbnail = 16843429; // 0x10102a5
    field public static final int tileMode = 16843265; // 0x1010201
    field public static final int timeZone = 16843724; // 0x10103cc
    field public static final int tint = 16843041; // 0x1010121
    field public static final int title = 16843233; // 0x10101e1
    field public static final int titleCondensed = 16843234; // 0x10101e2
@@ -22300,14 +22303,14 @@ package android.text.format {
  public class DateFormat {
    ctor public DateFormat();
    method public static final java.lang.CharSequence format(java.lang.CharSequence, long);
    method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Date);
    method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Calendar);
    method public static final java.text.DateFormat getDateFormat(android.content.Context);
    method public static final char[] getDateFormatOrder(android.content.Context);
    method public static final java.text.DateFormat getLongDateFormat(android.content.Context);
    method public static final java.text.DateFormat getMediumDateFormat(android.content.Context);
    method public static final java.text.DateFormat getTimeFormat(android.content.Context);
    method public static java.lang.CharSequence format(java.lang.CharSequence, long);
    method public static java.lang.CharSequence format(java.lang.CharSequence, java.util.Date);
    method public static java.lang.CharSequence format(java.lang.CharSequence, java.util.Calendar);
    method public static java.text.DateFormat getDateFormat(android.content.Context);
    method public static char[] getDateFormatOrder(android.content.Context);
    method public static java.text.DateFormat getLongDateFormat(android.content.Context);
    method public static java.text.DateFormat getMediumDateFormat(android.content.Context);
    method public static java.text.DateFormat getTimeFormat(android.content.Context);
    method public static boolean is24HourFormat(android.content.Context);
    field public static final char AM_PM = 97; // 0x0061 'a'
    field public static final char CAPITAL_AM_PM = 65; // 0x0041 'A'
@@ -29518,6 +29521,21 @@ package android.widget {
    field public int span;
  }
  public class TextClock extends android.widget.TextView {
    ctor public TextClock(android.content.Context);
    ctor public TextClock(android.content.Context, android.util.AttributeSet);
    ctor public TextClock(android.content.Context, android.util.AttributeSet, int);
    method public java.lang.CharSequence getFormat12Hour();
    method public java.lang.CharSequence getFormat24Hour();
    method public java.lang.String getTimeZone();
    method public boolean is24HourModeEnabled();
    method public void setFormat12Hour(java.lang.CharSequence);
    method public void setFormat24Hour(java.lang.CharSequence);
    method public void setTimeZone(java.lang.String);
    field public static final java.lang.CharSequence DEFAULT_FORMAT_12_HOUR;
    field public static final java.lang.CharSequence DEFAULT_FORMAT_24_HOUR;
  }
  public class TextSwitcher extends android.widget.ViewSwitcher {
    ctor public TextSwitcher(android.content.Context);
    ctor public TextSwitcher(android.content.Context, android.util.AttributeSet);
+26 −8
Original line number Diff line number Diff line
@@ -491,6 +491,8 @@ package android {
    field public static final int foreground = 16843017; // 0x1010109
    field public static final int foregroundGravity = 16843264; // 0x1010200
    field public static final int format = 16843013; // 0x1010105
    field public static final int format12Hour = 16843722; // 0x10103ca
    field public static final int format24Hour = 16843723; // 0x10103cb
    field public static final int fragment = 16843491; // 0x10102e3
    field public static final int fragmentCloseEnterAnimation = 16843495; // 0x10102e7
    field public static final int fragmentCloseExitAnimation = 16843496; // 0x10102e8
@@ -1074,6 +1076,7 @@ package android {
    field public static final int thumbTextPadding = 16843634; // 0x1010372
    field public static final int thumbnail = 16843429; // 0x10102a5
    field public static final int tileMode = 16843265; // 0x1010201
    field public static final int timeZone = 16843724; // 0x10103cc
    field public static final int tint = 16843041; // 0x1010121
    field public static final int title = 16843233; // 0x10101e1
    field public static final int titleCondensed = 16843234; // 0x10101e2
@@ -22300,14 +22303,14 @@ package android.text.format {
  public class DateFormat {
    ctor public DateFormat();
    method public static final java.lang.CharSequence format(java.lang.CharSequence, long);
    method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Date);
    method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Calendar);
    method public static final java.text.DateFormat getDateFormat(android.content.Context);
    method public static final char[] getDateFormatOrder(android.content.Context);
    method public static final java.text.DateFormat getLongDateFormat(android.content.Context);
    method public static final java.text.DateFormat getMediumDateFormat(android.content.Context);
    method public static final java.text.DateFormat getTimeFormat(android.content.Context);
    method public static java.lang.CharSequence format(java.lang.CharSequence, long);
    method public static java.lang.CharSequence format(java.lang.CharSequence, java.util.Date);
    method public static java.lang.CharSequence format(java.lang.CharSequence, java.util.Calendar);
    method public static java.text.DateFormat getDateFormat(android.content.Context);
    method public static char[] getDateFormatOrder(android.content.Context);
    method public static java.text.DateFormat getLongDateFormat(android.content.Context);
    method public static java.text.DateFormat getMediumDateFormat(android.content.Context);
    method public static java.text.DateFormat getTimeFormat(android.content.Context);
    method public static boolean is24HourFormat(android.content.Context);
    field public static final char AM_PM = 97; // 0x0061 'a'
    field public static final char CAPITAL_AM_PM = 65; // 0x0041 'A'
@@ -29518,6 +29521,21 @@ package android.widget {
    field public int span;
  }
  public class TextClock extends android.widget.TextView {
    ctor public TextClock(android.content.Context);
    ctor public TextClock(android.content.Context, android.util.AttributeSet);
    ctor public TextClock(android.content.Context, android.util.AttributeSet, int);
    method public java.lang.CharSequence getFormat12Hour();
    method public java.lang.CharSequence getFormat24Hour();
    method public java.lang.String getTimeZone();
    method public boolean is24HourModeEnabled();
    method public void setFormat12Hour(java.lang.CharSequence);
    method public void setFormat24Hour(java.lang.CharSequence);
    method public void setTimeZone(java.lang.String);
    field public static final java.lang.CharSequence DEFAULT_FORMAT_12_HOUR;
    field public static final java.lang.CharSequence DEFAULT_FORMAT_24_HOUR;
  }
  public class TextSwitcher extends android.widget.ViewSwitcher {
    ctor public TextSwitcher(android.content.Context);
    ctor public TextSwitcher(android.content.Context, android.util.AttributeSet);
+80 −17
Original line number Diff line number Diff line
@@ -249,12 +249,13 @@ public class DateFormat {

            synchronized (sLocaleLock) {
                sIs24HourLocale = locale;
                sIs24Hour = !value.equals("12");
                sIs24Hour = value.equals("24");
            }

            return sIs24Hour;
        }

        boolean b24 =  !(value == null || value.equals("12"));
        return b24;
        return value.equals("24");
    }

    /**
@@ -263,7 +264,7 @@ public class DateFormat {
     * @param context the application context
     * @return the {@link java.text.DateFormat} object that properly formats the time.
     */
    public static final java.text.DateFormat getTimeFormat(Context context) {
    public static java.text.DateFormat getTimeFormat(Context context) {
        boolean b24 = is24HourFormat(context);
        int res;

@@ -283,7 +284,7 @@ public class DateFormat {
     * @param context the application context
     * @return the {@link java.text.DateFormat} object that properly formats the date.
     */
    public static final java.text.DateFormat getDateFormat(Context context) {
    public static java.text.DateFormat getDateFormat(Context context) {
        String value = Settings.System.getString(context.getContentResolver(),
                Settings.System.DATE_FORMAT);

@@ -353,7 +354,7 @@ public class DateFormat {
     * @param context the application context
     * @return the {@link java.text.DateFormat} object that formats the date in long form.
     */
    public static final java.text.DateFormat getLongDateFormat(Context context) {
    public static java.text.DateFormat getLongDateFormat(Context context) {
        return java.text.DateFormat.getDateInstance(java.text.DateFormat.LONG);
    }

@@ -363,7 +364,7 @@ public class DateFormat {
     * @param context the application context
     * @return the {@link java.text.DateFormat} object that formats the date in long form.
     */
    public static final java.text.DateFormat getMediumDateFormat(Context context) {
    public static java.text.DateFormat getMediumDateFormat(Context context) {
        return java.text.DateFormat.getDateInstance(java.text.DateFormat.MEDIUM);
    }

@@ -376,7 +377,7 @@ public class DateFormat {
     * not just the day, month, and year, and not necessarily in the same
     * order returned here.
     */    
    public static final char[] getDateFormatOrder(Context context) {
    public static char[] getDateFormatOrder(Context context) {
        char[] order = new char[] {DATE, MONTH, YEAR};
        String value = getDateFormatString(context);
        int index = 0;
@@ -420,7 +421,7 @@ public class DateFormat {
     * @param inTimeInMillis in milliseconds since Jan 1, 1970 GMT
     * @return a {@link CharSequence} containing the requested text
     */
    public static final CharSequence format(CharSequence inFormat, long inTimeInMillis) {
    public static CharSequence format(CharSequence inFormat, long inTimeInMillis) {
        return format(inFormat, new Date(inTimeInMillis));
    }

@@ -431,7 +432,7 @@ public class DateFormat {
     * @param inDate the date to format
     * @return a {@link CharSequence} containing the requested text
     */
    public static final CharSequence format(CharSequence inFormat, Date inDate) {
    public static CharSequence format(CharSequence inFormat, Date inDate) {
        Calendar    c = new GregorianCalendar();
        
        c.setTime(inDate);
@@ -439,6 +440,68 @@ public class DateFormat {
        return format(inFormat, c);
    }

    /**
     * Indicates whether the specified format string contains seconds.
     * 
     * Always returns false if the input format is null.
     * 
     * @param inFormat the format string, as described in {@link android.text.format.DateFormat}
     *                 
     * @return true if the format string contains {@link #SECONDS}, false otherwise
     * 
     * @hide
     */
    public static boolean hasSeconds(CharSequence inFormat) {
        if (inFormat == null) return false;

        final int length = inFormat.length();

        int c;
        int count;

        for (int i = 0; i < length; i += count) {
            count = 1;
            c = inFormat.charAt(i);

            if (c == QUOTE) {
                count = skipQuotedText(inFormat, i, length);
            } else if (c == SECONDS) {
                return true;
            }
        }

        return false;
    }

    private static int skipQuotedText(CharSequence s, int i, int len) {
        if (i + 1 < len && s.charAt(i + 1) == QUOTE) {
            return 2;
        }

        int count = 1;
        // skip leading quote
        i++;

        while (i < len) {
            char c = s.charAt(i);

            if (c == QUOTE) {
                count++;
                //  QUOTEQUOTE -> QUOTE
                if (i + 1 < len && s.charAt(i + 1) == QUOTE) {
                    i++;
                } else {
                    break;
                }
            } else {
                i++;
                count++;
            }
        }

        return count;
    }

    /**
     * Given a format string and a {@link java.util.Calendar} object, returns a CharSequence 
     * containing the requested date.
@@ -446,7 +509,7 @@ public class DateFormat {
     * @param inDate the date to format
     * @return a {@link CharSequence} containing the requested text
     */
    public static final CharSequence format(CharSequence inFormat, Calendar inDate) {
    public static CharSequence format(CharSequence inFormat, Calendar inDate) {
        SpannableStringBuilder      s = new SpannableStringBuilder(inFormat);
        int             c;
        int             count;
@@ -545,7 +608,7 @@ public class DateFormat {
            return s.toString();
    }
    
    private static final String getMonthString(Calendar inDate, int count, int kind) {
    private static String getMonthString(Calendar inDate, int count, int kind) {
        boolean standalone = (kind == STANDALONE_MONTH);
        int month = inDate.get(Calendar.MONTH);
        
@@ -563,7 +626,7 @@ public class DateFormat {
        }
    }
        
    private static final String getTimeZoneString(Calendar inDate, int count) {
    private static String getTimeZoneString(Calendar inDate, int count) {
        TimeZone tz = inDate.getTimeZone();
        
        if (count < 2) { // FIXME: shouldn't this be <= 2 ?
@@ -576,7 +639,7 @@ public class DateFormat {
        }
    }

    private static final String formatZoneOffset(int offset, int count) {
    private static String formatZoneOffset(int offset, int count) {
        offset /= 1000; // milliseconds to seconds
        StringBuilder tb = new StringBuilder();

@@ -595,13 +658,13 @@ public class DateFormat {
        return tb.toString();
    }
    
    private static final String getYearString(Calendar inDate, int count) {
    private static String getYearString(Calendar inDate, int count) {
        int year = inDate.get(Calendar.YEAR);
        return (count <= 2) ? zeroPad(year % 100, 2)
                            : String.format(Locale.getDefault(), "%d", year);
    }
   
    private static final int appendQuotedText(SpannableStringBuilder s, int i, int len) {
    private static int appendQuotedText(SpannableStringBuilder s, int i, int len) {
        if (i + 1 < len && s.charAt(i + 1) == QUOTE) {
            s.delete(i, i + 1);
            return 1;
@@ -638,7 +701,7 @@ public class DateFormat {
        return count;
    }

    private static final String zeroPad(int inValue, int inMinDigits) {
    private static String zeroPad(int inValue, int inMinDigits) {
        return String.format(Locale.getDefault(), "%0" + inMinDigits + "d", inValue);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -17697,7 +17697,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        boolean mScalingRequired;
        /**
         * If set, ViewAncestor doesn't use its lame animation for when the window resizes.
         * If set, ViewRootImpl doesn't use its lame animation for when the window resizes.
         */
        boolean mTurnOffWindowResizeAnim;
+15 −16
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package android.widget;

import android.content.Context;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.os.Handler;
import android.os.SystemClock;
@@ -32,14 +31,12 @@ import java.util.Calendar;
/**
 * Like AnalogClock, but digital.  Shows seconds.
 *
 * FIXME: implement separate views for hours/minutes/seconds, so
 * proportional fonts don't shake rendering
 * 
 * @deprecated It is recommended you use a {@link TextView} and {@link DateFormat}
 * to implement the same behavior.
 * @deprecated It is recommended you use {@link TextClock} instead.
 */
@Deprecated
public class DigitalClock extends TextView {
    // FIXME: implement separate views for hours/minutes/seconds, so
    // proportional fonts don't shake rendering

    Calendar mCalendar;
    private final static String m12 = "h:mm:ss aa";
@@ -134,12 +131,14 @@ public class DigitalClock extends TextView {
    @Override
    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
        super.onInitializeAccessibilityEvent(event);
        //noinspection deprecation
        event.setClassName(DigitalClock.class.getName());
    }

    @Override
    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
        super.onInitializeAccessibilityNodeInfo(info);
        //noinspection deprecation
        info.setClassName(DigitalClock.class.getName());
    }
}
Loading