public void restoreActionViewStates(Bundle states) { if (states == null) { return; } SparseArray<Parcelable> viewStates = states.getSparseParcelableArray( getActionViewStatesKey()); final int itemCount = size(); for (int i = 0; i < itemCount; i++) { final android.view.MenuItem item = getItem(i); final View v = MenuItemCompat.getActionView(item); if (v != null && v.getId() != View.NO_ID) { v.restoreHierarchyState(viewStates); } } final int expandedId = states.getInt(EXPANDED_ACTION_VIEW_ID); if (expandedId > 0) { android.view.MenuItem itemToExpand = findItem(expandedId); if (itemToExpand != null) { MenuItemCompat.expandActionView(itemToExpand); } } }
public void saveActionViewStates(Bundle outStates) { SparseArray<Parcelable> viewStates = null; final int itemCount = size(); for (int i = 0; i < itemCount; i++) { final android.view.MenuItem item = getItem(i); final View v = MenuItemCompat.getActionView(item); if (v != null && v.getId() != View.NO_ID) { if (viewStates == null) { viewStates = new SparseArray<Parcelable>(); } v.saveHierarchyState(viewStates); if (MenuItemCompat.isActionViewExpanded(item)) { outStates.putInt(EXPANDED_ACTION_VIEW_ID, item.getItemId()); } } } if (viewStates != null) { outStates.putSparseParcelableArray(getActionViewStatesKey(), viewStates); } }
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater mi){ mMenu = menu; mi.inflate(R.menu.wifi_scanner, menu); if(mScanning) { MenuItem menuScan = mMenu.findItem(R.id.scan); MenuItemCompat.setActionView(menuScan, new ProgressBar(getActivity())); } super.onCreateOptionsMenu(menu, mi); }
MenuItemCompat.setActionProvider(menu.findItem(R.id.action_suspend), new SuspendProvider(this)); MenuItemCompat.setActionProvider(menu.findItem(R.id.action_bury), new BuryProvider(this)); if (dismissNoteAvailable(DismissType.SUSPEND_NOTE)) { menu.findItem(R.id.action_suspend).setIcon(R.drawable.ic_action_suspend_dropdown); menu.findItem(R.id.action_bury).setTitle(R.string.menu_bury_card); MenuItemCompat.setActionProvider(menu.findItem(R.id.action_schedule), new ScheduleProvider(this)); return super.onCreateOptionsMenu(menu);
if (!MenuItemCompat.getActionProvider(item).hasSubMenu()) { Timber.d("Bury card due to no submenu"); dismiss(DismissType.BURY_CARD); if (!MenuItemCompat.getActionProvider(item).hasSubMenu()) { Timber.d("Suspend card due to no submenu"); dismiss(DismissType.SUSPEND_CARD);
@SuppressWarnings("ConstantConditions") @Override public void onReceive(Context context, Intent intent){ if(intent.getAction().equals(SCAN_RESULTS_AVAILABLE_ACTION)){ if(mScanning){ mAdapter.reset(); if(mMenu != null){ MenuItem menuScan = mMenu.findItem(R.id.scan); MenuItemCompat.setActionView(menuScan, null); } List<ScanResult> results = mWifiManager.getScanResults(); for(ScanResult result : results){ mAdapter.addResult(result); } mScanning = false; mStatusText.setText(getString(R.string.wifi_scan_finished)); } mAdapter.notifyDataSetChanged(); } } }
@Override public boolean onOptionsItemSelected(MenuItem item){ if(item.getItemId() == R.id.scan){ if(mMenu != null){ MenuItem menuScan = mMenu.findItem(R.id.scan); MenuItemCompat.setActionView(menuScan, new ProgressBar(getActivity())); } mWifiManager.startScan(); mStatusText.setText(getString(R.string.scanning)); mScanning = true; return true; } if(item.getItemId() == android.R.id.home){ onBackPressed(); return true; } else return super.onOptionsItemSelected(item); }
MenuItemCompat.setActionView(menuScan, new ProgressBar(getActivity()));