diff options
Diffstat (limited to 'core/java/com')
3 files changed, 25 insertions, 4 deletions
diff --git a/core/java/com/android/internal/app/AlertActivity.java b/core/java/com/android/internal/app/AlertActivity.java index 7456def..5566aa6 100644 --- a/core/java/com/android/internal/app/AlertActivity.java +++ b/core/java/com/android/internal/app/AlertActivity.java @@ -17,9 +17,14 @@ package com.android.internal.app; import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.text.TextUtils; import android.view.KeyEvent; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; /** * An activity that follows the visual style of an AlertDialog. @@ -62,6 +67,19 @@ public abstract class AlertActivity extends Activity implements DialogInterface } } + @Override + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + event.setClassName(Dialog.class.getName()); + event.setPackageName(getPackageName()); + + ViewGroup.LayoutParams params = getWindow().getAttributes(); + boolean isFullScreen = (params.width == ViewGroup.LayoutParams.MATCH_PARENT) && + (params.height == ViewGroup.LayoutParams.MATCH_PARENT); + event.setFullScreen(isFullScreen); + + return false; + } + /** * Sets up the alert, including applying the parameters to the alert model, * and installing the alert's content. diff --git a/core/java/com/android/internal/app/IntentForwarderActivity.java b/core/java/com/android/internal/app/IntentForwarderActivity.java index 9656a21..7c1308f 100644 --- a/core/java/com/android/internal/app/IntentForwarderActivity.java +++ b/core/java/com/android/internal/app/IntentForwarderActivity.java @@ -96,9 +96,12 @@ public class IntentForwarderActivity extends Activity { final android.content.pm.ResolveInfo ri = getPackageManager().resolveActivityAsUser( newIntent, MATCH_DEFAULT_ONLY, targetUserId); - // Only show a disclosure if this is a normal (non-OS) app - final boolean shouldShowDisclosure = - !UserHandle.isSameApp(ri.activityInfo.applicationInfo.uid, Process.SYSTEM_UID); + // Don't show the disclosure if next activity is ResolverActivity or ChooserActivity + // as those will already have shown work / personal as neccesary etc. + final boolean shouldShowDisclosure = ri == null || ri.activityInfo == null || + !"android".equals(ri.activityInfo.packageName) || + !(ResolverActivity.class.getName().equals(ri.activityInfo.name) + || ChooserActivity.class.getName().equals(ri.activityInfo.name)); try { startActivityAsCaller(newIntent, null, targetUserId); diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index 661acbe..649a59f 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -343,7 +343,7 @@ public class ResolverActivity extends Activity implements AdapterView.OnItemClic } final Intent intent = intentForDisplayResolveInfo(dri); - onIntentSelected(dri.ri, intent, mAlwaysUseOption); + onIntentSelected(dri.ri, intent, false); finish(); } }); |