summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-05-31 03:16:41 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-05-31 03:16:41 +0000
commit29222f9b168c0fd6ad2bf92159f46b8219c8a702 (patch)
tree7262b42ae0dc204d068be1f6995887460e53da35
parent70d32251bef591dce41d98aec50f418edcf3e7c2 (diff)
parentc8dabdc2d90c63a915515ba95994148d2d94925c (diff)
downloadCluster-29222f9b168c0fd6ad2bf92159f46b8219c8a702.tar.gz
Snap for 5617038 from c8dabdc2d90c63a915515ba95994148d2d94925c to qt-aml-release
Change-Id: I80cd0048ef2399ff4dba9141d1d8c6b26776bc07
-rw-r--r--Android.mk2
-rw-r--r--AndroidManifest.xml3
-rw-r--r--src/android/car/cluster/CueView.java9
-rw-r--r--src/android/car/cluster/MainClusterActivity.java19
4 files changed, 23 insertions, 10 deletions
diff --git a/Android.mk b/Android.mk
index 41facff..bd9c68d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -45,6 +45,8 @@ LOCAL_STATIC_ANDROID_LIBRARIES += \
car-telephony-common \
car-apps-common
+LOCAL_REQUIRED_MODULES := privapp_whitelist_android.car.cluster
+
include $(BUILD_PACKAGE)
# Use the following include to make our test apk.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7f5d973..98e235b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -56,6 +56,9 @@
android:exported="false"
android:singleUser="true"
android:permission="android.car.permission.BIND_INSTRUMENT_CLUSTER_RENDERER_SERVICE"/>
+ <service android:name=".LoggingClusterRenderingService"
+ android:exported="false"
+ android:permission="android.car.permission.BIND_INSTRUMENT_CLUSTER_RENDERER_SERVICE"/>
<activity android:name=".MainClusterActivity"
android:exported="false"
diff --git a/src/android/car/cluster/CueView.java b/src/android/car/cluster/CueView.java
index 15f5dc1..f33834e 100644
--- a/src/android/car/cluster/CueView.java
+++ b/src/android/car/cluster/CueView.java
@@ -49,14 +49,20 @@ public class CueView extends TextView {
public CueView(Context context) {
super(context);
+ init(context);
}
public CueView(Context context, AttributeSet attrs) {
super(context, attrs);
+ init(context);
}
public CueView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
+ init(context);
+ }
+
+ private void init(Context context) {
mImageSpanText = context.getString(R.string.span_image);
}
@@ -94,9 +100,6 @@ public class CueView extends TextView {
SpannableStringBuilder builder = new SpannableStringBuilder();
for (RichTextElement element : richText.getElements()) {
- if (builder.length() > 0) {
- builder.append(" ");
- }
if (element.getImage() != null) {
Bitmap bitmap = bitmaps.get(element.getImage());
if (bitmap != null) {
diff --git a/src/android/car/cluster/MainClusterActivity.java b/src/android/car/cluster/MainClusterActivity.java
index 30c61a1..11b0c26 100644
--- a/src/android/car/cluster/MainClusterActivity.java
+++ b/src/android/car/cluster/MainClusterActivity.java
@@ -18,6 +18,7 @@ package android.car.cluster;
import static android.car.cluster.ClusterRenderingService.LOCAL_BINDING_ACTION;
import static android.content.Intent.ACTION_USER_SWITCHED;
import static android.content.Intent.ACTION_USER_UNLOCKED;
+import static android.content.PermissionChecker.PERMISSION_GRANTED;
import android.app.ActivityManager;
import android.app.ActivityOptions;
@@ -240,13 +241,8 @@ public class MainClusterActivity extends FragmentActivity implements
mUserReceiver = new UserReceiver(this);
mUserReceiver.register(this);
-
- try {
- InMemoryPhoneBook.get();
- } catch (IllegalStateException ex) {
- // Initialize if not yet initialized
- InMemoryPhoneBook.init(this);
- }
+
+ InMemoryPhoneBook.init(this);
PhoneFragmentViewModel phoneViewModel = ViewModelProviders.of(this).get(
PhoneFragmentViewModel.class);
@@ -443,6 +439,15 @@ public class MainClusterActivity extends FragmentActivity implements
ResolveInfo navigationApp = pm.resolveActivityAsUser(intent,
PackageManager.MATCH_DEFAULT_ONLY, userId);
+ // Check that it has the right permissions
+ if (pm.checkPermission(Car.PERMISSION_CAR_DISPLAY_IN_CLUSTER, navigationApp.activityInfo
+ .packageName) != PERMISSION_GRANTED) {
+ Log.i(TAG, String.format("Package '%s' doesn't have permission %s",
+ navigationApp.activityInfo.packageName,
+ Car.PERMISSION_CAR_DISPLAY_IN_CLUSTER));
+ return null;
+ }
+
// Get all possible cluster activities
intent = new Intent(Intent.ACTION_MAIN).addCategory(CarInstrumentClusterManager
.CATEGORY_NAVIGATION);