summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/TextureView.java8
-rw-r--r--core/res/res/values/strings.xml2
-rw-r--r--libs/hwui/OpenGLRenderer.cpp15
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java14
4 files changed, 32 insertions, 7 deletions
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 5c3934d..244dc33 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -108,6 +108,7 @@ public class TextureView extends View {
private HardwareLayer mLayer;
private SurfaceTexture mSurface;
private SurfaceTextureListener mListener;
+ private boolean mHadSurface;
private boolean mOpaque = true;
@@ -202,6 +203,11 @@ public class TextureView extends View {
Log.w(LOG_TAG, "A TextureView or a subclass can only be "
+ "used with hardware acceleration enabled.");
}
+
+ if (mHadSurface) {
+ invalidate(true);
+ mHadSurface = false;
+ }
}
@Override
@@ -241,6 +247,8 @@ public class TextureView extends View {
if (shouldRelease) mSurface.release();
mSurface = null;
mLayer = null;
+
+ mHadSurface = true;
}
}
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index b595d6e..ef0f01d 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -2043,7 +2043,7 @@
<!-- QQ IM protocol type -->
<string name="imProtocolQq">QQ</string>
<!-- Google Talk IM protocol type -->
- <string name="imProtocolGoogleTalk">Google Talk</string>
+ <string name="imProtocolGoogleTalk">Hangouts</string>
<!-- ICQ IM protocol type -->
<string name="imProtocolIcq">ICQ</string>
<!-- Jabber IM protocol type -->
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index ddb190e..7735819 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -882,15 +882,18 @@ bool OpenGLRenderer::createLayer(float left, float top, float right, float botto
layer->bindTexture();
if (!bounds.isEmpty()) {
if (layer->isEmpty()) {
- glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
- bounds.left, mSnapshot->height - bounds.bottom,
- layer->getWidth(), layer->getHeight(), 0);
+ // Workaround for some GL drivers. When reading pixels lying outside
+ // of the window we should get undefined values for those pixels.
+ // Unfortunately some drivers will turn the entire target texture black
+ // when reading outside of the window.
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, layer->getWidth(), layer->getHeight(),
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
layer->setEmpty(false);
- } else {
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bounds.left,
- mSnapshot->height - bounds.bottom, bounds.getWidth(), bounds.getHeight());
}
+ glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bounds.left,
+ mSnapshot->height - bounds.bottom, bounds.getWidth(), bounds.getHeight());
+
// Enqueue the buffer coordinates to clear the corresponding region later
mLayers.push(new Rect(bounds));
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 659651b..0177504 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -43,6 +43,7 @@ import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
+import android.os.DropBoxManager;
import android.os.FileObserver;
import android.os.ParcelFileDescriptor;
import android.os.SystemProperties;
@@ -107,6 +108,9 @@ public class SettingsProvider extends ContentProvider {
*/
static final HashSet<String> sSecureGlobalKeys;
static final HashSet<String> sSystemGlobalKeys;
+
+ private static final String DROPBOX_TAG_USERLOG = "restricted_profile_ssaid";
+
static {
// Keys (name column) from the 'secure' table that are now in the owner user's 'global'
// table, shared across all users
@@ -486,6 +490,16 @@ public class SettingsProvider extends ContentProvider {
}
Slog.d(TAG, "Generated and saved new ANDROID_ID [" + newAndroidIdValue
+ "] for user " + userHandle);
+ // Write a dropbox entry if it's a restricted profile
+ if (mUserManager.getUserInfo(userHandle).isRestricted()) {
+ DropBoxManager dbm = (DropBoxManager)
+ getContext().getSystemService(Context.DROPBOX_SERVICE);
+ if (dbm != null && dbm.isTagEnabled(DROPBOX_TAG_USERLOG)) {
+ dbm.addText(DROPBOX_TAG_USERLOG, System.currentTimeMillis()
+ + ",restricted_profile_ssaid,"
+ + newAndroidIdValue + "\n");
+ }
+ }
}
return true;
} finally {