diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/FragmentManager.java | 2 | ||||
| -rw-r--r-- | core/java/android/app/PendingIntent.java | 12 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 21 | ||||
| -rw-r--r-- | core/java/android/text/SpannableStringBuilder.java | 24 | ||||
| -rw-r--r-- | core/java/android/util/JsonReader.java | 3 | ||||
| -rw-r--r-- | core/java/android/widget/SpellChecker.java | 6 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 1 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/ProcessStats.java | 6 |
8 files changed, 51 insertions, 24 deletions
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index ee8d457..bf2a629 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -972,7 +972,7 @@ final class FragmentManagerImpl extends FragmentManager { if (fragment.mAnimatingAway != null) { fragment.mAnimatingAway = null; moveToState(fragment, fragment.mStateAfterAnimating, - 0, 0, true); + 0, 0, false); } } }); diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java index d3b0763..d4de112 100644 --- a/core/java/android/app/PendingIntent.java +++ b/core/java/android/app/PendingIntent.java @@ -231,7 +231,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} * you supply here should almost always be an <em>explicit intent</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should start * the activity. @@ -262,7 +262,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} * you supply here should almost always be an <em>explicit intent</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should start * the activity. @@ -354,7 +354,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} objects * you supply here should almost always be <em>explicit intents</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should start * the activity. @@ -404,7 +404,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} objects * you supply here should almost always be <em>explicit intents</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should start * the activity. @@ -474,7 +474,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} * you supply here should almost always be an <em>explicit intent</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should perform * the broadcast. @@ -528,7 +528,7 @@ public final class PendingIntent implements Parcelable { * <p class="note">For security reasons, the {@link android.content.Intent} * you supply here should almost always be an <em>explicit intent</em>, * that is specify an explicit component to be delivered to through - * {@link Intent#setClass(android.content.Context, Class)} Intent.setClass</p> + * {@link Intent#setClass(android.content.Context, Class) Intent.setClass}</p> * * @param context The Context in which this PendingIntent should start * the service. diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 6c33492..76ada09 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3468,16 +3468,8 @@ public final class Settings { "lock_screen_owner_info_enabled"; /** - * This preference enables expanding the notification panel even over a securely - * locked screen, showing only "public" notifications in this case. - * @hide - */ - public static final String LOCK_SCREEN_ALLOW_NOTIFICATIONS = - "lock_screen_allow_notifications"; - - /** - * When set in conjunction with {@link #LOCK_SCREEN_ALLOW_NOTIFICATIONS}, shows - * notifications in their "private" form (same as when the device is unlocked). + * When set by a user, allows notifications to be shown atop a securely locked screen + * in their full "private" form (same as when the device is unlocked). * @hide */ public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = @@ -6074,6 +6066,15 @@ public final class Settings { */ public static final String POLICY_CONTROL = "policy_control"; + + /** + * This preference enables notification display even over a securely + * locked screen. + * @hide + */ + public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = + "lock_screen_show_notifications"; + /** * Settings to backup. This is here so that it's in the same place as the settings * keys and easy to update. diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java index 34274a6..b55cd6a 100644 --- a/core/java/android/text/SpannableStringBuilder.java +++ b/core/java/android/text/SpannableStringBuilder.java @@ -29,6 +29,7 @@ import java.lang.reflect.Array; */ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable, Editable, Appendable, GraphicsOperations { + private final static String TAG = "SpannableStringBuilder"; /** * Create a new SpannableStringBuilder with empty contents */ @@ -436,10 +437,26 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable } // Documentation from interface - public SpannableStringBuilder replace(final int start, final int end, + public SpannableStringBuilder replace(int start, int end, CharSequence tb, int tbstart, int tbend) { checkRange("replace", start, end); + // Sanity check + if (start > end) { + Log.w(TAG, "Bad arguments to #replace : " + + "start = " + start + ", end = " + end); + final int tmp = start; + start = end; + end = tmp; + } + if (tbstart > tbend) { + Log.w(TAG, "Bad arguments to #replace : " + + "tbstart = " + tbstart + ", tbend = " + tbend); + final int tmp = tbstart; + tbstart = tbend; + tbend = tmp; + } + int filtercount = mFilters.length; for (int i = 0; i < filtercount; i++) { CharSequence repl = mFilters[i].filter(tb, tbstart, tbend, this, start, end); @@ -613,8 +630,9 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable // 0-length Spanned.SPAN_EXCLUSIVE_EXCLUSIVE if (flagsStart == POINT && flagsEnd == MARK && start == end) { - if (send) Log.e("SpannableStringBuilder", - "SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length"); + if (send) { + Log.e(TAG, "SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length"); + } // Silently ignore invalid spans when they are created from this class. // This avoids the duplication of the above test code before all the // calls to setSpan that are done in this class diff --git a/core/java/android/util/JsonReader.java b/core/java/android/util/JsonReader.java index f2a86c9..7d1c6c4 100644 --- a/core/java/android/util/JsonReader.java +++ b/core/java/android/util/JsonReader.java @@ -546,6 +546,9 @@ public final class JsonReader implements Closeable { public void skipValue() throws IOException { skipping = true; try { + if (!hasNext() || peek() == JsonToken.END_DOCUMENT) { + throw new IllegalStateException("No element left to skip"); + } int count = 0; do { JsonToken token = advance(); diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java index b204dfd..1cda631 100644 --- a/core/java/android/widget/SpellChecker.java +++ b/core/java/android/widget/SpellChecker.java @@ -731,10 +731,14 @@ public class SpellChecker implements SpellCheckerSessionListener { } } - if (scheduleOtherSpellCheck) { + if (scheduleOtherSpellCheck && wordStart <= end) { // Update range span: start new spell check from last wordStart setRangeSpan(editable, wordStart, end); } else { + if (DBG && scheduleOtherSpellCheck) { + Log.w(TAG, "Trying to schedule spellcheck for invalid region, from " + + wordStart + " to " + end); + } removeRangeSpan(editable); } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 65b79fc..e5cb16f 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -5809,6 +5809,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener int end = text.partialEndOffset; if (end > N) end = N; removeParcelableSpans(content, start, end); + // If start > end, content.replace will swap them before using them. content.replace(start, end, text.text); } } diff --git a/core/java/com/android/internal/app/ProcessStats.java b/core/java/com/android/internal/app/ProcessStats.java index 4dd4a45..b1535e3 100644 --- a/core/java/com/android/internal/app/ProcessStats.java +++ b/core/java/com/android/internal/app/ProcessStats.java @@ -1018,7 +1018,7 @@ public final class ProcessStats implements Parcelable { for (int iproc=pkgState.mProcesses.size()-1; iproc>=0; iproc--) { final ProcessState ps = pkgState.mProcesses.valueAt(iproc); if (ps.isInUse()) { - pkgState.mProcesses.valueAt(iproc).resetSafely(now); + ps.resetSafely(now); ps.mCommonProcess.mTmpNumInUse++; ps.mCommonProcess.mTmpFoundSubProc = ps; } else { @@ -1029,7 +1029,7 @@ public final class ProcessStats implements Parcelable { for (int isvc=pkgState.mServices.size()-1; isvc>=0; isvc--) { final ServiceState ss = pkgState.mServices.valueAt(isvc); if (ss.isInUse()) { - pkgState.mServices.valueAt(isvc).resetSafely(now); + ss.resetSafely(now); } else { pkgState.mServices.removeAt(isvc); } @@ -3142,7 +3142,7 @@ public final class ProcessStats implements Parcelable { } public boolean isInUse() { - return mOwner != null; + return mOwner != null || mRestarting; } void add(ServiceState other) { |
