Loading policy/src/com/android/internal/policy/impl/GlobalActions.java +41 −0 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.view.WindowManagerGlobal; import android.view.WindowManagerInternal; import android.view.WindowManagerInternal; import android.view.WindowManagerPolicy.WindowManagerFuncs; import android.view.WindowManagerPolicy.WindowManagerFuncs; import android.view.accessibility.AccessibilityEvent; import android.widget.AdapterView; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ImageView; Loading Loading @@ -625,6 +626,12 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac * What each item in the global actions dialog must be able to support. * What each item in the global actions dialog must be able to support. */ */ private interface Action { private interface Action { /** * @return Text that will be announced when dialog is created. null * for none. */ CharSequence getLabelForAccessibility(Context context); View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater); View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater); void onPress(); void onPress(); Loading Loading @@ -692,6 +699,14 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac abstract public void onPress(); abstract public void onPress(); public CharSequence getLabelForAccessibility(Context context) { if (mMessage != null) { return mMessage; } else { return context.getString(mMessageResId); } } public View create( public View create( Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { View v = inflater.inflate(R.layout.global_actions_item, parent, false); View v = inflater.inflate(R.layout.global_actions_item, parent, false); Loading Loading @@ -781,6 +796,11 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac } } @Override public CharSequence getLabelForAccessibility(Context context) { return context.getString(mMessageResId); } public View create(Context context, View convertView, ViewGroup parent, public View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { LayoutInflater inflater) { willCreate(); willCreate(); Loading Loading @@ -897,6 +917,11 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac return index; return index; } } @Override public CharSequence getLabelForAccessibility(Context context) { return null; } public View create(Context context, View convertView, ViewGroup parent, public View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { LayoutInflater inflater) { View v = inflater.inflate(R.layout.global_actions_silent_mode, parent, false); View v = inflater.inflate(R.layout.global_actions_silent_mode, parent, false); Loading Loading @@ -1045,6 +1070,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac private final Context mContext; private final Context mContext; private final int mWindowTouchSlop; private final int mWindowTouchSlop; private final AlertController mAlert; private final AlertController mAlert; private final MyAdapter mAdapter; private EnableAccessibilityController mEnableAccessibilityController; private EnableAccessibilityController mEnableAccessibilityController; Loading @@ -1055,6 +1081,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac super(context, getDialogTheme(context)); super(context, getDialogTheme(context)); mContext = context; mContext = context; mAlert = new AlertController(mContext, this, getWindow()); mAlert = new AlertController(mContext, this, getWindow()); mAdapter = (MyAdapter) params.mAdapter; mWindowTouchSlop = ViewConfiguration.get(context).getScaledWindowTouchSlop(); mWindowTouchSlop = ViewConfiguration.get(context).getScaledWindowTouchSlop(); params.apply(mAlert); params.apply(mAlert); } } Loading Loading @@ -1148,6 +1175,20 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac mAlert.installContent(); mAlert.installContent(); } } @Override public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { for (int i = 0; i < mAdapter.getCount(); ++i) { CharSequence label = mAdapter.getItem(i).getLabelForAccessibility(getContext()); if (label != null) { event.getText().add(label); } } } return super.dispatchPopulateAccessibilityEvent(event); } @Override @Override public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) { if (mAlert.onKeyDown(keyCode, event)) { if (mAlert.onKeyDown(keyCode, event)) { Loading Loading
policy/src/com/android/internal/policy/impl/GlobalActions.java +41 −0 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.view.WindowManagerGlobal; import android.view.WindowManagerInternal; import android.view.WindowManagerInternal; import android.view.WindowManagerPolicy.WindowManagerFuncs; import android.view.WindowManagerPolicy.WindowManagerFuncs; import android.view.accessibility.AccessibilityEvent; import android.widget.AdapterView; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ImageView; Loading Loading @@ -625,6 +626,12 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac * What each item in the global actions dialog must be able to support. * What each item in the global actions dialog must be able to support. */ */ private interface Action { private interface Action { /** * @return Text that will be announced when dialog is created. null * for none. */ CharSequence getLabelForAccessibility(Context context); View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater); View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater); void onPress(); void onPress(); Loading Loading @@ -692,6 +699,14 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac abstract public void onPress(); abstract public void onPress(); public CharSequence getLabelForAccessibility(Context context) { if (mMessage != null) { return mMessage; } else { return context.getString(mMessageResId); } } public View create( public View create( Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { View v = inflater.inflate(R.layout.global_actions_item, parent, false); View v = inflater.inflate(R.layout.global_actions_item, parent, false); Loading Loading @@ -781,6 +796,11 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac } } @Override public CharSequence getLabelForAccessibility(Context context) { return context.getString(mMessageResId); } public View create(Context context, View convertView, ViewGroup parent, public View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { LayoutInflater inflater) { willCreate(); willCreate(); Loading Loading @@ -897,6 +917,11 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac return index; return index; } } @Override public CharSequence getLabelForAccessibility(Context context) { return null; } public View create(Context context, View convertView, ViewGroup parent, public View create(Context context, View convertView, ViewGroup parent, LayoutInflater inflater) { LayoutInflater inflater) { View v = inflater.inflate(R.layout.global_actions_silent_mode, parent, false); View v = inflater.inflate(R.layout.global_actions_silent_mode, parent, false); Loading Loading @@ -1045,6 +1070,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac private final Context mContext; private final Context mContext; private final int mWindowTouchSlop; private final int mWindowTouchSlop; private final AlertController mAlert; private final AlertController mAlert; private final MyAdapter mAdapter; private EnableAccessibilityController mEnableAccessibilityController; private EnableAccessibilityController mEnableAccessibilityController; Loading @@ -1055,6 +1081,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac super(context, getDialogTheme(context)); super(context, getDialogTheme(context)); mContext = context; mContext = context; mAlert = new AlertController(mContext, this, getWindow()); mAlert = new AlertController(mContext, this, getWindow()); mAdapter = (MyAdapter) params.mAdapter; mWindowTouchSlop = ViewConfiguration.get(context).getScaledWindowTouchSlop(); mWindowTouchSlop = ViewConfiguration.get(context).getScaledWindowTouchSlop(); params.apply(mAlert); params.apply(mAlert); } } Loading Loading @@ -1148,6 +1175,20 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac mAlert.installContent(); mAlert.installContent(); } } @Override public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { for (int i = 0; i < mAdapter.getCount(); ++i) { CharSequence label = mAdapter.getItem(i).getLabelForAccessibility(getContext()); if (label != null) { event.getText().add(label); } } } return super.dispatchPopulateAccessibilityEvent(event); } @Override @Override public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) { if (mAlert.onKeyDown(keyCode, event)) { if (mAlert.onKeyDown(keyCode, event)) { Loading