Merge "Change the name of the contexthub service."
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index dfc89fa..612eba7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -345,7 +345,10 @@
@Override
public void onAnnouncementRequested(CharSequence announcement) {
- announceForAccessibility(announcement);
+ if (announcement != null) {
+ mHandler.obtainMessage(H.ANNOUNCE_FOR_ACCESSIBILITY, announcement)
+ .sendToTarget();
+ }
}
};
r.tile.addCallback(callback);
@@ -514,10 +517,13 @@
private class H extends Handler {
private static final int SHOW_DETAIL = 1;
private static final int SET_TILE_VISIBILITY = 2;
+ private static final int ANNOUNCE_FOR_ACCESSIBILITY = 3;
@Override
public void handleMessage(Message msg) {
if (msg.what == SHOW_DETAIL) {
handleShowDetail((Record)msg.obj, msg.arg1 != 0);
+ } else if (msg.what == ANNOUNCE_FOR_ACCESSIBILITY) {
+ announceForAccessibility((CharSequence)msg.obj);
}
}
}
diff --git a/services/core/java/com/android/server/NetworkScoreService.java b/services/core/java/com/android/server/NetworkScoreService.java
index 496d5d0..983d039 100644
--- a/services/core/java/com/android/server/NetworkScoreService.java
+++ b/services/core/java/com/android/server/NetworkScoreService.java
@@ -36,6 +36,7 @@
import android.net.NetworkKey;
import android.net.NetworkScorerAppManager;
import android.net.NetworkScorerAppManager.NetworkScorerAppData;
+import android.net.NetworkScoreManager;
import android.net.RecommendationRequest;
import android.net.RecommendationResult;
import android.net.ScoredNetwork;
@@ -146,37 +147,39 @@
}
private void evaluateBinding(String scorerPackageName, boolean forceUnbind) {
- if (mPackagesToWatch.contains(scorerPackageName)) {
+ if (!mPackagesToWatch.contains(scorerPackageName)) {
+ // Early exit when we don't care about the package that has changed.
+ return;
+ }
+
+ if (DBG) {
+ Log.d(TAG, "Evaluating binding for: " + scorerPackageName
+ + ", forceUnbind=" + forceUnbind);
+ }
+ final NetworkScorerAppData activeScorer = mNetworkScorerAppManager.getActiveScorer();
+ if (activeScorer == null) {
+ // Package change has invalidated a scorer, this will also unbind any service
+ // connection.
+ if (DBG) Log.d(TAG, "No active scorers available.");
+ unbindFromScoringServiceIfNeeded();
+ } else if (activeScorer.packageName.equals(scorerPackageName)) {
+ // The active scoring service changed in some way.
if (DBG) {
- Log.d(TAG, "Evaluating binding for: " + scorerPackageName
- + ", forceUnbind=" + forceUnbind);
- }
- final NetworkScorerAppData activeScorer =
- mNetworkScorerAppManager.getActiveScorer();
- if (activeScorer == null) {
- // Package change has invalidated a scorer, this will also unbind any service
- // connection.
- if (DBG) Log.d(TAG, "No active scorers available.");
- unbindFromScoringServiceIfNeeded();
- } else if (activeScorer.packageName.equals(scorerPackageName)) {
- // The active scoring service changed in some way.
- if (DBG) {
- Log.d(TAG, "Possible change to the active scorer: "
+ Log.d(TAG, "Possible change to the active scorer: "
+ activeScorer.packageName);
- }
- if (forceUnbind) {
- unbindFromScoringServiceIfNeeded();
- }
- bindToScoringServiceIfNeeded(activeScorer);
- } else {
- // One of the scoring apps on the device has changed and we may no longer be
- // bound to the correct scoring app. The logic in bindToScoringServiceIfNeeded()
- // will sort that out to leave us bound to the most recent active scorer.
- if (DBG) {
- Log.d(TAG, "Binding to " + activeScorer.packageName + " if needed.");
- }
- bindToScoringServiceIfNeeded(activeScorer);
}
+ if (forceUnbind) {
+ unbindFromScoringServiceIfNeeded();
+ }
+ bindToScoringServiceIfNeeded(activeScorer);
+ } else {
+ // One of the scoring apps on the device has changed and we may no longer be
+ // bound to the correct scoring app. The logic in bindToScoringServiceIfNeeded()
+ // will sort that out to leave us bound to the most recent active scorer.
+ if (DBG) {
+ Log.d(TAG, "Binding to " + activeScorer.packageName + " if needed.");
+ }
+ bindToScoringServiceIfNeeded(activeScorer);
}
}
}
@@ -631,7 +634,7 @@
void connect(Context context) {
if (!mBound) {
- Intent service = new Intent();
+ Intent service = new Intent(NetworkScoreManager.ACTION_RECOMMEND_NETWORKS);
service.setComponent(mComponentName);
mBound = context.bindServiceAsUser(service, this,
Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE,
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index f0c6210..2a525d4 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1013,15 +1013,10 @@
if (attachedTransformation != null) {
tmpMatrix.postConcat(attachedTransformation.getMatrix());
}
+ tmpMatrix.postTranslate(frame.left + mWin.mXOffset, frame.top + mWin.mYOffset);
if (appTransformation != null) {
tmpMatrix.postConcat(appTransformation.getMatrix());
}
-
- // The translation that applies the position of the window needs to be applied at the
- // end in case that other translations include scaling. Otherwise the scaling will
- // affect this translation. But it needs to be set before the screen rotation animation
- // so the pivot point is at the center of the screen for all windows.
- tmpMatrix.postTranslate(frame.left + mWin.mXOffset, frame.top + mWin.mYOffset);
if (screenAnimation) {
tmpMatrix.postConcat(screenRotationAnimation.getEnterTransformation().getMatrix());
}