Merge "New window cling for immersive mode." into klp-dev
diff --git a/core/java/android/print/PrintJobInfo.java b/core/java/android/print/PrintJobInfo.java
index e571986be..9f935c8 100644
--- a/core/java/android/print/PrintJobInfo.java
+++ b/core/java/android/print/PrintJobInfo.java
@@ -131,7 +131,7 @@
/** The name of the printer - internally used */
private String mPrinterName;
- /** The status of the print job. */
+ /** The state of the print job. */
private int mState;
/** The id of the app that created the job. */
@@ -555,7 +555,7 @@
builder.append("PrintJobInfo{");
builder.append("label: ").append(mLabel);
builder.append(", id: ").append(mId);
- builder.append(", status: ").append(stateToString(mState));
+ builder.append(", state: ").append(stateToString(mState));
builder.append(", printer: " + mPrinterId);
builder.append(", tag: ").append(mTag);
builder.append(", creationTime: " + mCreationTime);
@@ -583,6 +583,9 @@
case STATE_STARTED: {
return "STATE_STARTED";
}
+ case STATE_BLOCKED: {
+ return "STATE_BLOCKED";
+ }
case STATE_FAILED: {
return "STATE_FAILED";
}
diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java
index 1233da2..dbd8278 100644
--- a/core/java/android/print/PrintManager.java
+++ b/core/java/android/print/PrintManager.java
@@ -146,11 +146,14 @@
switch (message.what) {
case MSG_NOTIFY_PRINT_JOB_STATE_CHANGED: {
SomeArgs args = (SomeArgs) message.obj;
- PrintJobStateChangeListener listener =
- (PrintJobStateChangeListener) args.arg1;
- PrintJobId printJobId = (PrintJobId) args.arg2;
+ PrintJobStateChangeListenerWrapper wrapper =
+ (PrintJobStateChangeListenerWrapper) args.arg1;
+ PrintJobStateChangeListener listener = wrapper.getListener();
+ if (listener != null) {
+ PrintJobId printJobId = (PrintJobId) args.arg2;
+ listener.onPrintJobStateChanged(printJobId);
+ }
args.recycle();
- listener.onPrintJobStateChanged(printJobId);
} break;
}
}
@@ -217,6 +220,7 @@
if (mPrintJobStateChangeListeners.isEmpty()) {
mPrintJobStateChangeListeners = null;
}
+ wrappedListener.destroy();
try {
mService.removePrintJobStateChangeListener(wrappedListener, mUserId);
} catch (RemoteException re) {
@@ -769,12 +773,19 @@
PrintJobStateChangeListener listener = mWeakListener.get();
if (handler != null && listener != null) {
SomeArgs args = SomeArgs.obtain();
- args.arg1 = listener;
+ args.arg1 = this;
args.arg2 = printJobId;
handler.obtainMessage(MSG_NOTIFY_PRINT_JOB_STATE_CHANGED,
args).sendToTarget();
}
}
- }
+ public void destroy() {
+ mWeakListener.clear();
+ }
+
+ public PrintJobStateChangeListener getListener() {
+ return mWeakListener.get();
+ }
+ }
}
diff --git a/core/java/com/android/internal/app/PlatLogoActivity.java b/core/java/com/android/internal/app/PlatLogoActivity.java
index 43bd735..40a705c 100644
--- a/core/java/com/android/internal/app/PlatLogoActivity.java
+++ b/core/java/com/android/internal/app/PlatLogoActivity.java
@@ -79,7 +79,7 @@
letter.setTextSize(300);
letter.setTextColor(0xFFFFFFFF);
letter.setGravity(Gravity.CENTER);
- letter.setText(String.valueOf(Build.VERSION.RELEASE).substring(0, 1));
+ letter.setText(String.valueOf(Build.ID).substring(0, 1));
final int p = (int)(4 * metrics.density);
diff --git a/core/res/res/drawable-hdpi/stat_sys_adb_am.png b/core/res/res/drawable-hdpi/stat_sys_adb_am.png
index 382557e..dad614c 100644
--- a/core/res/res/drawable-hdpi/stat_sys_adb_am.png
+++ b/core/res/res/drawable-hdpi/stat_sys_adb_am.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_adb_am.png b/core/res/res/drawable-mdpi/stat_sys_adb_am.png
index 4380035..5482f34 100644
--- a/core/res/res/drawable-mdpi/stat_sys_adb_am.png
+++ b/core/res/res/drawable-mdpi/stat_sys_adb_am.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_adb_am.png b/core/res/res/drawable-xhdpi/stat_sys_adb_am.png
index 3222a76..e53f498 100644
--- a/core/res/res/drawable-xhdpi/stat_sys_adb_am.png
+++ b/core/res/res/drawable-xhdpi/stat_sys_adb_am.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/stat_sys_adb_am.png b/core/res/res/drawable-xxhdpi/stat_sys_adb_am.png
index e01ad386..d6018dd 100644
--- a/core/res/res/drawable-xxhdpi/stat_sys_adb_am.png
+++ b/core/res/res/drawable-xxhdpi/stat_sys_adb_am.png
Binary files differ
diff --git a/packages/Keyguard/res/layout/keyguard_transport_control_view.xml b/packages/Keyguard/res/layout/keyguard_transport_control_view.xml
index a0b59a7..da82e40 100644
--- a/packages/Keyguard/res/layout/keyguard_transport_control_view.xml
+++ b/packages/Keyguard/res/layout/keyguard_transport_control_view.xml
@@ -94,67 +94,12 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12dp" />
</RelativeLayout>
- <LinearLayout
- android:id="@+id/transient_rating"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:visibility="invisible">
- <RatingBar
- android:id="@+id/transient_rating_bar_stars"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <LinearLayout
- android:id="@+id/transient_rating_thumbs"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
- <FrameLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1">
- <ImageButton
- android:id="@+id/btn_thumbs_up"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:src="@drawable/ic_media_previous"
- android:background="?android:attr/selectableItemBackground"
- android:minWidth="48dp"
- android:minHeight="48dp"
- android:contentDescription="@string/keyguard_accessibility_transport_thumbs_up_description"/>
- </FrameLayout>
- <FrameLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1">
- <ImageButton
- android:id="@+id/btn_thumbs_down"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:src="@drawable/ic_media_next"
- android:background="?android:attr/selectableItemBackground"
- android:minWidth="48dp"
- android:minHeight="48dp"
- android:contentDescription="@string/keyguard_accessibility_transport_thumbs_down_description"/>
- </FrameLayout>
- </LinearLayout>
- <ToggleButton
- android:id="@+id/transient_rating_heart"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="invisible"
- android:minWidth="48dp"
- android:minHeight="48dp"
- android:contentDescription="@string/keyguard_accessibility_transport_heart_description" />
- </LinearLayout>
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_marginTop="5dip">
+ android:layout_marginTop="4dp"
+ android:orientation="horizontal">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
index ca4892d..b7720ef 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
@@ -511,7 +511,7 @@
if ((flags & flag) != 0) {
view.setVisibility(View.VISIBLE);
} else {
- view.setVisibility(View.GONE);
+ view.setVisibility(View.INVISIBLE);
}
}
diff --git a/packages/PrintSpooler/src/com/android/printspooler/FusedPrintersProvider.java b/packages/PrintSpooler/src/com/android/printspooler/FusedPrintersProvider.java
index 8aa290c..0601467 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/FusedPrintersProvider.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/FusedPrintersProvider.java
@@ -254,6 +254,9 @@
if (isStarted() && mDiscoverySession != null
&& mDiscoverySession.isPrinterDiscoveryStarted()) {
if (mTrackedPrinter != null) {
+ if (mTrackedPrinter.equals(printerId)) {
+ return;
+ }
mDiscoverySession.stopPrinterStateTracking(mTrackedPrinter);
}
mTrackedPrinter = printerId;
diff --git a/packages/PrintSpooler/src/com/android/printspooler/NotificationController.java b/packages/PrintSpooler/src/com/android/printspooler/NotificationController.java
index 4aa8686..968a8bf 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/NotificationController.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/NotificationController.java
@@ -189,7 +189,7 @@
if (i == printJobCount - 1) {
builder.setLargeIcon(((BitmapDrawable) mContext.getResources().getDrawable(
computeNotificationIcon(printJob))).getBitmap());
- builder.setSmallIcon(com.android.internal.R.drawable.ic_print);
+ builder.setSmallIcon(computeNotificationIcon(printJob));
builder.setContentTitle(computeNotificationTitle(printJob));
builder.setContentText(printJob.getPrinterName());
}
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
index 135bc03..22a9950 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
@@ -760,6 +760,7 @@
public void run() {
mEditor.initialize();
mEditor.bindUi();
+ mEditor.reselectCurrentPrinter();
mEditor.updateUi();
}
});
diff --git a/services/java/com/android/server/print/PrintManagerService.java b/services/java/com/android/server/print/PrintManagerService.java
index 7538caf..edd6b25 100644
--- a/services/java/com/android/server/print/PrintManagerService.java
+++ b/services/java/com/android/server/print/PrintManagerService.java
@@ -474,7 +474,8 @@
ComponentName component = new ComponentName(serviceInfo.packageName,
serviceInfo.name);
String label = serviceInfo.loadLabel(mContext.getPackageManager()).toString();
- showEnableInstalledPrintServiceNotification(component, label);
+ showEnableInstalledPrintServiceNotification(component, label,
+ getChangingUserId());
}
}
@@ -622,12 +623,14 @@
}
private void showEnableInstalledPrintServiceNotification(ComponentName component,
- String label) {
+ String label, int userId) {
+ UserHandle userHandle = new UserHandle(userId);
+
Intent intent = new Intent(Settings.ACTION_PRINT_SETTINGS);
intent.putExtra(EXTRA_PRINT_SERVICE_COMPONENT_NAME, component.flattenToString());
- PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent,
- PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT, null);
+ PendingIntent pendingIntent = PendingIntent.getActivityAsUser(mContext, 0, intent,
+ PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT, null, userHandle);
Notification.Builder builder = new Notification.Builder(mContext)
.setSmallIcon(R.drawable.ic_print)
@@ -642,6 +645,7 @@
.getSystemService(Context.NOTIFICATION_SERVICE);
String notificationTag = getClass().getName() + ":" + component.flattenToString();
- notificationManager.notify(notificationTag, 0, builder.build());
+ notificationManager.notifyAsUser(notificationTag, 0, builder.build(),
+ userHandle);
}
}
diff --git a/services/java/com/android/server/print/RemotePrintService.java b/services/java/com/android/server/print/RemotePrintService.java
index 5b9dc28..1bb61d2 100644
--- a/services/java/com/android/server/print/RemotePrintService.java
+++ b/services/java/com/android/server/print/RemotePrintService.java
@@ -682,7 +682,7 @@
final long identity = Binder.clearCallingIdentity();
try {
return service.mSpooler.getPrintJobInfos(service.mComponentName,
- PrintJobInfo.STATE_ANY_VISIBLE_TO_CLIENTS, PrintManager.APP_ID_ANY);
+ PrintJobInfo.STATE_ANY_SCHEDULED, PrintManager.APP_ID_ANY);
} finally {
Binder.restoreCallingIdentity(identity);
}
diff --git a/services/java/com/android/server/print/UserState.java b/services/java/com/android/server/print/UserState.java
index b894855d..b69dcee 100644
--- a/services/java/com/android/server/print/UserState.java
+++ b/services/java/com/android/server/print/UserState.java
@@ -37,6 +37,7 @@
import android.os.Message;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.print.IPrintDocumentAdapter;
import android.print.IPrintJobStateChangeListener;
import android.print.IPrinterDiscoveryObserver;
@@ -199,9 +200,10 @@
intent.putExtra(PrintManager.EXTRA_PRINT_JOB, printJob);
intent.putExtra(DocumentsContract.EXTRA_PACKAGE_NAME, packageName);
- IntentSender intentSender = PendingIntent.getActivity(
+ IntentSender intentSender = PendingIntent.getActivityAsUser(
mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT
- | PendingIntent.FLAG_CANCEL_CURRENT).getIntentSender();
+ | PendingIntent.FLAG_CANCEL_CURRENT, null, new UserHandle(mUserId))
+ .getIntentSender();
Bundle result = new Bundle();
result.putParcelable(PrintManager.EXTRA_PRINT_JOB, printJob);