List of usage examples for android.widget PopupMenu PopupMenu
public PopupMenu(Context context, View anchor)
From source file:free.yhc.feeder.ChannelListActivity.java
private void onOpt_addChannel(final View anchor) { if (0 == mAb.getNavigationItemCount()) { eAssert(false);//from ww w .j av a2 s .c o m return; } if (0 > mAb.getSelectedNavigationIndex()) { UiHelper.showTextToast(ChannelListActivity.this, R.string.warn_select_category_to_add); return; } if (!Utils.isNetworkAvailable()) { // TODO Handling error UiHelper.showTextToast(ChannelListActivity.this, R.string.warn_network_unavailable); return; } PopupMenu popup = new PopupMenu(this, anchor); popup.getMenuInflater().inflate(R.menu.popup_addchannel, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.predefined: onOpt_addChannel_predefined(anchor); break; case R.id.url: onOpt_addChannel_url(anchor); break; case R.id.youtube: onOpt_addChannel_youtube(anchor); break; default: eAssert(false); } return true; } }); popup.show(); }
From source file:net.sourceforge.lifeograph.ActivityDiary.java
public void CreateCtgMenu(View v) { mElemMenu = (DiaryElement) v.getTag(); PopupMenu popup = new PopupMenu(getActivity(), v); popup.setOnMenuItemClickListener(this); if (mElemMenu.get_type() == DiaryElement.Type.TAG_CTG) popup.inflate(R.menu.menu_tag_ctg); else//from w w w .j av a 2 s.com popup.inflate(R.menu.menu_chapter_ctg); popup.show(); }
From source file:com.scooter1556.sms.androidtv.fragment.AudioDirectoryDetailsFragment.java
public void showOptionsMenu(View v) { PopupMenu popup = new PopupMenu(getActivity(), v); // This activity implements OnMenuItemClickListener popup.setOnMenuItemClickListener(this); popup.inflate(R.menu.menu_audio_element); popup.show();/*w w w. j a v a2 s . c o m*/ }
From source file:info.papdt.blacklight.support.adapter.WeiboAdapter.java
void buildPopup(final ViewHolder h) { PopupMenu p = new PopupMenu(mContext, h.popup); p.inflate(R.menu.popup);/* ww w . j av a 2 s. c om*/ final Menu m = p.getMenu(); // Show needed items m.findItem(R.id.popup_copy).setVisible(true); if (h.msg instanceof CommentModel) { m.findItem(R.id.popup_reply).setVisible(true); CommentModel cmt = (CommentModel) h.msg; if (cmt.user.id.equals(mUid) || (cmt.status != null && cmt.status.user != null && cmt.status.user.id.equals(mUid))) { m.findItem(R.id.popup_delete).setVisible(true); } } else { m.findItem(R.id.popup_repost).setVisible(true); m.findItem(R.id.popup_comment).setVisible(true); if (h.msg.liked) { m.findItem(R.id.popup_unlike).setVisible(true); } else { m.findItem(R.id.popup_like).setVisible(true); } if (h.msg.user != null && h.msg.user.id.equals(mUid)) { m.findItem(R.id.popup_delete).setVisible(true); } } p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { int id = item.getItemId(); if (id == R.id.popup_delete) { h.delete(); } else if (id == R.id.popup_copy) { h.copy(); } else if (id == R.id.popup_comment || id == R.id.popup_reply) { h.reply(); } else if (id == R.id.popup_repost) { h.repost(); } else if (id == R.id.popup_like || id == R.id.popup_unlike) { new LikeTask().execute(h.msg, h, m); } return true; } }); // Pop up! p.show(); }
From source file:de.aw.monma.mainscreen.ActivityMainScreen.java
@Override public boolean onRecyclerItemLongClick(RecyclerView recyclerView, View view, int position, long id, int viewHolderLayoutID) { switch (viewHolderLayoutID) { case R.layout.reportlist_item: PopupMenu popUpMenu = new PopupMenu(this, view); Menu menu = popUpMenu.getMenu(); popUpMenu.getMenuInflater().inflate(R.menu.context_fragment_report_selection, menu); for (int i = 0; i < menu.size(); i++) { Intent intent = new Intent(); intent.putExtra(ID, id);/*from w w w. ja va2 s . com*/ menu.getItem(i).setIntent(intent); } popUpMenu.setOnMenuItemClickListener(this); popUpMenu.show(); return true; case R.layout.finanzuebersicht_item: DialogFragmentKontoEdit d = DialogFragmentKontoEdit.newInstance(new Account((int) id)); d.show(getSupportFragmentManager(), null); return true; case R.layout.hbcipassport_item: final long mID = id; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.HBCIZugangDelete); builder.setMessage(R.string.HBCIZugangDeleteMsg); builder.setPositiveButton(getString(R.string.awlib_btnAccept), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { MonMaPassport passport = new MonMaPassport(mID); passport.delete(DBHelper.getInstance()); } catch (GeschaeftsObjekt.LineNotFoundException e) { //TODO Execption bearbeiten e.printStackTrace(); } } }); builder.setNegativeButton(getString(R.string.awlib_btnCancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); builder.create().show(); return true; default: return false; } }
From source file:com.oceansky.yellow.utils.Utils.java
public static void showSongOverflow(final FragmentActivity context, final View parent, final Song song, final boolean hideArtist) { if (song == null) { return;//from w w w .ja va 2 s. com } PopupMenu popupMenu = new PopupMenu(context, parent); popupMenu.inflate(R.menu.track_overflow); if (song.getArtist() == null || hideArtist) { // This song has no artist information, hide the entry Menu menu = popupMenu.getMenu(); menu.removeItem(R.id.menu_open_artist); } if (song.getAlbum() == null) { // This song has no album information, hide the entry Menu menu = popupMenu.getMenu(); menu.removeItem(R.id.menu_add_album_to_queue); } popupMenu.show(); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem menuItem) { final ProviderAggregator aggregator = ProviderAggregator.getDefault(); switch (menuItem.getItemId()) { case R.id.menu_play_now: PlaybackProxy.playSong(song); break; case R.id.menu_play_next: PlaybackProxy.playNext(song); break; case R.id.menu_open_artist: Intent intent = ArtistActivity.craftIntent(context, null, song.getArtist(), song.getProvider(), context.getResources().getColor(R.color.default_album_art_background)); context.startActivity(intent); break; case R.id.menu_add_to_queue: PlaybackProxy.queueSong(song, false); Toast.makeText(context, R.string.toast_song_added_to_queue, Toast.LENGTH_SHORT).show(); break; case R.id.menu_add_album_to_queue: PlaybackProxy.queueAlbum(aggregator.retrieveAlbum(song.getAlbum(), song.getProvider()), false); Toast.makeText(context, R.string.toast_album_added_to_queue, Toast.LENGTH_SHORT).show(); break; case R.id.menu_add_to_playlist: PlaylistChooserFragment fragment = PlaylistChooserFragment.newInstance(song); fragment.show(context.getSupportFragmentManager(), song.getRef()); break; default: return false; } return true; } }); }
From source file:com.fastbootmobile.encore.utils.Utils.java
public static void showSongOverflow(final FragmentActivity context, final View parent, final Song song, final boolean hideArtist) { PopupMenu popupMenu = new PopupMenu(context, parent); popupMenu.inflate(R.menu.track_overflow); if (song.getArtist() == null || hideArtist) { // This song has no artist information, hide the entry Menu menu = popupMenu.getMenu(); menu.removeItem(R.id.menu_open_artist); }//from w w w . j a va 2 s . c om if (song.getAlbum() == null) { // This song has no album information, hide the entry Menu menu = popupMenu.getMenu(); menu.removeItem(R.id.menu_add_album_to_queue); } popupMenu.show(); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem menuItem) { final ProviderAggregator aggregator = ProviderAggregator.getDefault(); switch (menuItem.getItemId()) { case R.id.menu_play_now: PlaybackProxy.playSong(song); break; case R.id.menu_play_next: PlaybackProxy.playNext(song); break; case R.id.menu_open_artist: Intent intent = ArtistActivity.craftIntent(context, null, song.getArtist(), song.getProvider(), context.getResources().getColor(R.color.default_album_art_background)); context.startActivity(intent); break; case R.id.menu_add_to_queue: PlaybackProxy.queueSong(song, false); Toast.makeText(context, R.string.toast_song_added_to_queue, Toast.LENGTH_SHORT).show(); break; case R.id.menu_add_album_to_queue: PlaybackProxy.queueAlbum(aggregator.retrieveAlbum(song.getAlbum(), song.getProvider()), false); Toast.makeText(context, R.string.toast_album_added_to_queue, Toast.LENGTH_SHORT).show(); break; case R.id.menu_add_to_playlist: PlaylistChooserFragment fragment = PlaylistChooserFragment.newInstance(song); fragment.show(context.getSupportFragmentManager(), song.getRef()); break; default: return false; } return true; } }); }
From source file:lewa.support.v7.internal.widget.ActionBarContextView.java
private void initTitle() { if (!lewaInitTitle()) { if (mTitleLayout == null) { LayoutInflater inflater = LayoutInflater.from(getContext()); inflater.inflate(R.layout.action_bar_title_item_with_spinner, this); //inflater.inflate(R.layout.abc_action_bar_title_item, this); mTitleLayout = (LinearLayout) getChildAt(getChildCount() - 1); // mTitleView = (TextView) mTitleLayout.findViewById(R.id.action_bar_title); // mSubtitleView = (TextView) mTitleLayout.findViewById(R.id.action_bar_subtitle); // if (mTitleStyleRes != 0) { // mTitleView.setTextAppearance(mContext, mTitleStyleRes); // }/*from w ww. j av a 2s . com*/ // if (mSubtitleStyleRes != 0) { // mSubtitleView.setTextAppearance(mContext, mSubtitleStyleRes); // } mSpinner = (Button) mTitleLayout.findViewById(R.id.action_bar_spinner); mSpinner.setText("One item selected"); final PopupMenu popMenu = new PopupMenu(mContext, mSpinner); final Menu menu = popMenu.getMenu(); menu.add(Menu.NONE, android.R.id.selectAll, Menu.NONE, android.R.string.selectAll); popMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { if (null != mActionMode) { if (mActionMode instanceof ActionModeImpl) { return ((ActionModeImpl) mActionMode).onMenuItemSelected((MenuBuilder) menu, item); } if (mActionMode instanceof StandaloneActionMode) { return ((StandaloneActionMode) mActionMode).onMenuItemSelected((MenuBuilder) menu, item); } // Woody Guo @ 2012/12/18: State of the selection menu item // is totally controlled by the calling client /* * mActionMode.setSelectionMode( * ActionMode.SELECT_ALL == mActionMode.getSelectionMode() * ? ActionMode.SELECT_NONE : ActionMode.SELECT_ALL); * item.setTitle(ActionMode.SELECT_ALL == mActionMode.getSelectionMode() * ? android.R.string.selectAll : R.string.selectNone); * return true; */ } return false; } }); mSpinner.setOnClickListener(new OnClickListener() { public void onClick(View v) { popMenu.getMenu().getItem(0) .setTitle(ActionMode.SELECT_ALL == mActionMode.getSelectionMode() ? android.R.string.selectAll : R.string.selectNone); popMenu.show(); } }); } mSpinner.setText(mTitle); } if (true) { if (mTitleView != null) { mTitleView.setText(mTitle); } //mSubtitleView.setText(mSubtitle); } final boolean hasTitle = !TextUtils.isEmpty(mTitle); //final boolean hasSubtitle = !TextUtils.isEmpty(mSubtitle); //mSubtitleView.setVisibility(hasSubtitle ? VISIBLE : GONE); //mTitleLayout.setVisibility(hasTitle || hasSubtitle ? VISIBLE : GONE); mTitleLayout.setVisibility(hasTitle ? VISIBLE : GONE); if (mTitleLayout.getParent() == null) { addView(mTitleLayout); } }
From source file:org.thecongers.mcluster.MainActivity.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Keep screen on getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.activity_main); setTitle(R.string.app_name);// w w w . j ava 2 s. co m View myView = findViewById(R.id.layoutApp); root = myView.getRootView(); layoutIcons = (LinearLayout) findViewById(R.id.layoutIcons); layoutMiddleLeft = (LinearLayout) findViewById(R.id.layoutMiddleLeft); layoutMiddleRight = (LinearLayout) findViewById(R.id.layoutMiddleRight); layoutBottomLeft = (LinearLayout) findViewById(R.id.layoutBottomLeft); layoutBottomRight = (LinearLayout) findViewById(R.id.layoutBottomRight); imageKillSwitch = (ImageView) findViewById(R.id.imageViewKillSwitch); imageLeftArrow = (ImageView) findViewById(R.id.imageViewLeftArrow); imageRightArrow = (ImageView) findViewById(R.id.imageViewRightArrow); imageHighBeam = (ImageView) findViewById(R.id.imageViewHighBeam); imageHeatedGrips = (ImageView) findViewById(R.id.imageViewHeatedGrips); imageABS = (ImageView) findViewById(R.id.imageViewABS); imageLampf = (ImageView) findViewById(R.id.imageViewLampf); imageFuelWarning = (ImageView) findViewById(R.id.imageViewFuelWarning); imageFuelLevel = (ImageView) findViewById(R.id.imageViewFuelLevel); imageESA = (ImageView) findViewById(R.id.imageViewESA); txtSpeed = (TextView) findViewById(R.id.textViewSpeed); txtSpeedUnit = (TextView) findViewById(R.id.textViewSpeedUnit); txtGear = (TextView) findViewById(R.id.textViewGear); txtOdometers = (TextView) findViewById(R.id.textViewOdometer); txtESA = (TextView) findViewById(R.id.textViewESA); imageButtonTPMS = (ImageButton) findViewById(R.id.imageButtonTPMS); imageButtonBluetooth = (ImageButton) findViewById(R.id.imageButtonBluetooth); imageButtonPreference = (ImageButton) findViewById(R.id.imageButtonPreference); progressFuelLevel = (ProgressBar) findViewById(R.id.progressBarFuelLevel); // Backgrounds background = R.drawable.rectangle_bordered; backgroundDark = R.drawable.rectangle_bordered_dark; sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); // Update layout updateLayout(); if (!sharedPrefs.getBoolean("prefEnableTPMS", false)) { imageButtonTPMS.setImageResource(R.mipmap.blank_icon); imageButtonTPMS.setEnabled(false); } else { imageButtonTPMS.setImageResource(R.mipmap.tpms_off); imageButtonTPMS.setEnabled(true); } // Set initial color scheme updateColors(); if (sharedPrefs.getBoolean("prefNightMode", false)) { imageHeatedGrips.setImageResource(R.mipmap.heated_grips_high_dark); } // Watch for Bluetooth Changes IntentFilter filter1 = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED); IntentFilter filter2 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED); IntentFilter filter3 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED); this.registerReceiver(btReceiver, filter1); this.registerReceiver(btReceiver, filter2); this.registerReceiver(btReceiver, filter3); // Setup Text To Speech text2speech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status != TextToSpeech.ERROR) { text2speech.setLanguage(Locale.US); } } }); imageButtonBluetooth.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { canBusConnect(); } }); imageButtonTPMS.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (sharedPrefs.getBoolean("prefEnableTPMS", false)) { iTPMSConnect(); } } }); imageButtonPreference.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { PopupMenu popup = new PopupMenu(MainActivity.this, v); popup.getMenuInflater().inflate(R.menu.main, popup.getMenu()); popup.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.action_settings: // Settings Menu was selected Intent i = new Intent(getApplicationContext(), org.thecongers.mcluster.UserSettingActivity.class); startActivityForResult(i, SETTINGS_RESULT); return true; case R.id.action_about: // About was selected AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle(getResources().getString(R.string.alert_about_title)); builder.setMessage(readRawTextFile(MainActivity.this, R.raw.about)); builder.setPositiveButton(getResources().getString(R.string.alert_about_button), null); builder.show(); return true; case R.id.action_exit: // Exit menu item was selected if (logger != null) { logger.shutdown(); } finish(); System.exit(0); default: return true; } } }); popup.show(); } }); layoutMiddleRight.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int infoViewCurr = Integer.valueOf(sharedPrefs.getString("prefInfoView", "0")); if (infoViewCurr < (numInfoViewLayouts - 1)) { infoViewCurr = infoViewCurr + 1; } else { infoViewCurr = 0; } SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putString("prefInfoView", String.valueOf(infoViewCurr)); editor.commit(); //update layout updateLayout(); } }); canBusMessages = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case RECEIVE_MESSAGE: // Check to see if message is the correct size if (msg.arg1 == 27) { byte[] readBuf = (byte[]) msg.obj; String message = new String(readBuf); //Default Units String speedUnit = "km/h"; String odometerUnit = "km"; String temperatureUnit = "C"; String[] splitMessage = message.split(","); if (splitMessage[0].contains("10C")) { //RPM if (sharedPrefs.getString("prefInfoView", "0").contains("0")) { int rpm = (Integer.parseInt(splitMessage[4], 16) * 255 + Integer.parseInt(splitMessage[3], 16)) / 4; txtInfo = (TextView) findViewById(R.id.textViewInfo); txtInfo.setGravity(Gravity.CENTER | Gravity.BOTTOM); txtInfo.setTextSize(TypedValue.COMPLEX_UNIT_SP, 40); txtInfo.setText(Integer.toString(rpm) + " RPM"); if (rpm > 8500) { txtInfo.setTextColor(getResources().getColor(R.color.red)); } else { txtInfo.setTextColor(getResources().getColor(android.R.color.black)); } } //Kill Switch String killSwitchValue = splitMessage[5].substring(1); if (killSwitchValue.contains("5") || killSwitchValue.contains("9")) { //Kill Switch On imageKillSwitch.setImageResource(R.mipmap.kill_switch); } else { //Kill Switch Off imageKillSwitch.setImageResource(R.mipmap.blank_icon); } } else if (splitMessage[0].contains("130")) { //Turn indicators String indicatorValue = splitMessage[8]; if (indicatorValue.contains("D7")) { imageLeftArrow.setImageResource(R.mipmap.left_arrow); imageRightArrow.setImageResource(R.mipmap.blank_icon); } else if (indicatorValue.contains("E7")) { imageLeftArrow.setImageResource(R.mipmap.blank_icon); imageRightArrow.setImageResource(R.mipmap.right_arrow); } else if (indicatorValue.contains("EF")) { imageLeftArrow.setImageResource(R.mipmap.left_arrow); imageRightArrow.setImageResource(R.mipmap.right_arrow); } else { imageLeftArrow.setImageResource(R.mipmap.blank_icon); imageRightArrow.setImageResource(R.mipmap.blank_icon); } //High Beam String highBeamValue = splitMessage[7].substring(1); if (highBeamValue.contains("9")) { //High Beam On imageHighBeam.setImageResource(R.mipmap.high_beam); } else { //High Beam Off imageHighBeam.setImageResource(R.mipmap.blank_icon); } } else if (splitMessage[0].contains("294")) { //Front Wheel Speed double frontSpeed = ((Integer.parseInt(splitMessage[4], 16) * 256.0 + Integer.parseInt(splitMessage[3], 16)) * 0.063); //If 21" Wheel if (sharedPrefs.getString("prefDistance", "0").contains("1")) { frontSpeed = ((Integer.parseInt(splitMessage[4], 16) * 256.0 + Integer.parseInt(splitMessage[3], 16)) * 0.064); } if (sharedPrefs.getString("prefDistance", "0").contains("0")) { speedUnit = "MPH"; frontSpeed = frontSpeed / 1.609344; } txtSpeed.setText(String.valueOf((int) Math.round(frontSpeed))); txtSpeedUnit.setText(speedUnit); //ABS String absValue = splitMessage[2].substring(0, 1); if (absValue.contains("B")) { //ABS Off imageABS.setImageResource(R.mipmap.abs); } else { //ABS On imageABS.setImageResource(R.mipmap.blank_icon); } } else if (splitMessage[0].contains("2BC")) { //Engine Temperature engineTempC = (Integer.parseInt(splitMessage[3], 16) * 0.75) - 24.0; if (engineTempC >= 115.5) { if (engineTempAlertTriggered == false) { engineTempAlertTriggered = true; speakString(getResources().getString(R.string.engine_temp_alert)); SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putString("prefInfoView", String.valueOf(3)); editor.commit(); updateLayout(); } } else { engineTempAlertTriggered = false; } if (sharedPrefs.getString("prefInfoView", "0").contains("3")) { double engineTemp = engineTempC; if (sharedPrefs.getString("prefTempF", "0").contains("1")) { // F engineTemp = (int) Math.round((9.0 / 5.0) * engineTemp + 32.0); temperatureUnit = "F"; } txtEngineTemp.setText(String.valueOf(engineTemp) + temperatureUnit); } // Gear String gearValue = splitMessage[6].substring(0, 1); String gear; if (gearValue.contains("1")) { gear = "1"; } else if (gearValue.contains("2")) { gear = "N"; } else if (gearValue.contains("4")) { gear = "2"; } else if (gearValue.contains("7")) { gear = "3"; } else if (gearValue.contains("8")) { gear = "4"; } else if (gearValue.contains("B")) { gear = "5"; } else if (gearValue.contains("D")) { gear = "6"; } else { gear = "-"; } txtGear.setText(gear); //Air Temperature airTempC = (Integer.parseInt(splitMessage[8], 16) * 0.75) - 48.0; //Freeze Warning if (airTempC <= 0.0) { if (freezeAlertTriggered == false) { freezeAlertTriggered = true; speakString(getResources().getString(R.string.freeze_alert)); SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putString("prefInfoView", String.valueOf(3)); editor.commit(); updateLayout(); } } else { freezeAlertTriggered = false; } if (sharedPrefs.getString("prefInfoView", "0").contains("3")) { double airTemp = airTempC; if (sharedPrefs.getString("prefTempF", "0").contains("1")) { // F airTemp = (int) Math.round((9.0 / 5.0) * airTemp + 32.0); temperatureUnit = "F"; } txtAirTemp.setText(String.valueOf(airTemp) + temperatureUnit); } } else if (splitMessage[0].contains("2D0")) { //Info Button String infoButtonValue = splitMessage[6].substring(1); if (infoButtonValue.contains("5")) { //Short Press if (!btnPressed) { int infoButton = Integer.valueOf(sharedPrefs.getString("prefInfoView", "0")); if (infoButton < (numInfoViewLayouts - 1)) { infoButton = infoButton + 1; } else { infoButton = 0; } SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putString("prefInfoView", String.valueOf(infoButton)); editor.commit(); //update layout updateLayout(); btnPressed = true; } } else if (infoButtonValue.contains("6")) { //Long Press } else { btnPressed = false; } //Heated Grips String heatedGripSwitchValue = splitMessage[8].substring(0, 1); if (heatedGripSwitchValue.contains("C")) { imageHeatedGrips.setImageResource(R.mipmap.blank_icon); } else if (heatedGripSwitchValue.contains("D")) { if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageHeatedGrips.setImageResource(R.mipmap.heated_grips_low); } else { imageHeatedGrips.setImageResource(R.mipmap.heated_grips_low_dark); } } else if (heatedGripSwitchValue.contains("E")) { if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageHeatedGrips.setImageResource(R.mipmap.heated_grips_high); } else { imageHeatedGrips.setImageResource(R.mipmap.heated_grips_high_dark); } } else { imageHeatedGrips.setImageResource(R.mipmap.blank_icon); } //ESA Damping and Preload String esaDampingValue1 = splitMessage[5].substring(1); String esaDampingValue2 = splitMessage[8].substring(1); String esaPreLoadValue = splitMessage[5].substring(0, 1); if (esaDampingValue1.contains("B") && esaDampingValue2.contains("1")) { txtESA.setText("SOFT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("B") && esaDampingValue2.contains("2")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("B") && esaDampingValue2.contains("3")) { txtESA.setText("HARD"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("B") && esaDampingValue2.contains("4")) { txtESA.setText("SOFT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaDampingValue1.contains("B") && esaDampingValue2.contains("5")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaDampingValue1.contains("B") && esaDampingValue2.contains("6")) { txtESA.setText("HARD"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("1")) { txtESA.setText("SOFT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("2")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("3")) { txtESA.setText("HARD"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.smooth_terrain); } else { imageESA.setImageResource(R.mipmap.smooth_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("4")) { txtESA.setText("SOFT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("5")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaDampingValue1.contains("7") && esaDampingValue2.contains("6")) { txtESA.setText("HARD"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.uneven_terrain); } else { imageESA.setImageResource(R.mipmap.uneven_terrain_dark); } } else if (esaPreLoadValue.contains("1")) { txtESA.setText("COMF"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet); } else { imageESA.setImageResource(R.mipmap.helmet_dark); } } else if (esaPreLoadValue.contains("2")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet); } else { imageESA.setImageResource(R.mipmap.helmet_dark); } } else if (esaPreLoadValue.contains("3")) { txtESA.setText("SPORT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet); } else { imageESA.setImageResource(R.mipmap.helmet_dark); } } else if (esaPreLoadValue.contains("4")) { txtESA.setText("COMF"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_luggage); } else { imageESA.setImageResource(R.mipmap.helmet_luggage_dark); } } else if (esaPreLoadValue.contains("5")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_luggage); } else { imageESA.setImageResource(R.mipmap.helmet_luggage_dark); } } else if (esaPreLoadValue.contains("6")) { txtESA.setText("SPORT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_luggage); } else { imageESA.setImageResource(R.mipmap.helmet_luggage_dark); } } else if (esaPreLoadValue.contains("7")) { txtESA.setText("COMF"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_helmet); } else { imageESA.setImageResource(R.mipmap.helmet_helmet_dark); } } else if (esaPreLoadValue.contains("8")) { txtESA.setText("NORM"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_helmet); } else { imageESA.setImageResource(R.mipmap.helmet_helmet_dark); } } else if (esaPreLoadValue.contains("9")) { txtESA.setText("SPORT"); if ((!itsDark) && (!sharedPrefs.getBoolean("prefNightMode", false))) { imageESA.setImageResource(R.mipmap.helmet_helmet); } else { imageESA.setImageResource(R.mipmap.helmet_helmet_dark); } } else { txtESA.setText(""); imageESA.setImageResource(R.mipmap.blank_icon); } //Lamp Fault //TODO: Display/speak Bulb location String lampFaultValue = splitMessage[3].substring(0, 1); if (lampFaultValue.contains("0")) { //None imageLampf.setImageResource(R.mipmap.blank_icon); } else if (lampFaultValue.contains("1")) { //Low Beam imageLampf.setImageResource(R.mipmap.lampf); } else if (lampFaultValue.contains("4")) { //High Beam imageLampf.setImageResource(R.mipmap.lampf); } else if (lampFaultValue.contains("8")) { //Signal Bulb imageLampf.setImageResource(R.mipmap.lampf); } else { //Unknown imageLampf.setImageResource(R.mipmap.lampf); } //Fuel Level double fuelLevelPercent = ((Integer.parseInt(splitMessage[4], 16) - 73) / 182.0) * 100.0; progressFuelLevel.setProgress((int) Math.round(fuelLevelPercent)); //Fuel Level Warning double fuelWarning = sharedPrefs.getInt("prefFuelWarning", 30); if (fuelLevelPercent >= fuelWarning) { imageFuelWarning.setImageResource(R.mipmap.blank_icon); fuelAlertTriggered = false; fuelReserveAlertTriggered = false; } else if (fuelLevelPercent == 0) { //Visual Warning imageFuelWarning.setImageResource(R.mipmap.fuel_warning); if (!fuelReserveAlertTriggered) { fuelReserveAlertTriggered = true; //Audio Warning speakString(getResources().getString(R.string.fuel_alert_reserve)); } } else { //Visual Warning imageFuelWarning.setImageResource(R.mipmap.fuel_warning); if (!fuelAlertTriggered) { fuelAlertTriggered = true; //Audio Warning String fuelAlert = getResources().getString(R.string.fuel_alert_begin) + String.valueOf((int) Math.round(fuelLevelPercent)) + getResources().getString(R.string.fuel_alert_end); speakString(fuelAlert); //Suggest nearby fuel stations if (!sharedPrefs.getString("prefFuelStation", "0").contains("0")) { // Display prompt to open google maps MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { AlertDialog.Builder builder = new AlertDialog.Builder( MainActivity.this); builder.setTitle(getResources() .getString(R.string.alert_fuel_stations_title)); if (sharedPrefs.getString("prefFuelStation", "0").contains("1")) { // Search for fuel stations nearby builder.setMessage(getResources().getString( R.string.alert_fuel_stations_message_suggestions)); } else if (sharedPrefs.getString("prefFuelStation", "0") .contains("2")) { // Route to nearest fuel station builder.setMessage(getResources().getString( R.string.alert_fuel_stations_message_navigation)); } builder.setPositiveButton( getResources().getString( R.string.alert_fuel_stations_button_positive), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Uri gmmIntentUri = null; if (sharedPrefs.getString("prefFuelStation", "0") .contains("1")) { // Search for fuel stations nearby gmmIntentUri = Uri .parse("geo:0,0?q=gas+station"); } else if (sharedPrefs .getString("prefFuelStation", "0") .contains("2")) { // Route to nearest fuel station gmmIntentUri = Uri.parse( "google.navigation:q=gas+station"); } Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent .setPackage("com.google.android.apps.maps"); startActivity(mapIntent); } }); builder.setNegativeButton( getResources().getString( R.string.alert_fuel_stations_button_negative), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.show(); } }); } } } } else if (splitMessage[0].contains("3F8")) { String odometerValue = ""; for (int i = 4; i > 1; i--) { odometerValue = odometerValue + splitMessage[i]; } double odometer = Integer.parseInt(odometerValue, 16); if (sharedPrefs.getString("prefDistance", "0").contains("0")) { odometerUnit = "Miles"; odometer = odometer * 0.6214; } txtOdometers.setText(String.valueOf((int) Math.round(odometer)) + " " + odometerUnit); } imageButtonBluetooth.setImageResource(R.mipmap.bluetooth_on); if (sharedPrefs.getBoolean("prefDataLogging", false)) { // Log data if (logger == null) { logger = new LogData(); } if (logger != null) { logger.write(message); } } } else { Log.d(TAG, "Malformed message, message length: " + msg.arg1); } break; } } }; sensorMessages = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case RECEIVE_MESSAGE: // Message received Log.d(TAG, "iTPMS Message Received, Length: " + msg.arg1); // Check to see if message is the correct size if (msg.arg1 == 13) { byte[] readBuf = (byte[]) msg.obj; // Validate against checksum int calculatedCheckSum = readBuf[4] + readBuf[5] + readBuf[6] + readBuf[7] + readBuf[8] + readBuf[9] + readBuf[10]; if (calculatedCheckSum == readBuf[11]) { // Convert to hex String[] hexData = new String[13]; StringBuilder sbhex = new StringBuilder(); for (int i = 0; i < msg.arg1; i++) { hexData[i] = String.format("%02X", readBuf[i]); sbhex.append(hexData[i]); } // Get sensor position String position = hexData[3]; // Get sensor ID StringBuilder sensorID = new StringBuilder(); sensorID.append(hexData[4]); sensorID.append(hexData[5]); sensorID.append(hexData[6]); sensorID.append(hexData[7]); // Only parse message if there is one or more sensor mappings String prefFrontID = sharedPrefs.getString("prefFrontID", ""); String prefRearID = sharedPrefs.getString("prefRearID", ""); try { // Get temperature int tempC = Integer.parseInt(hexData[8], 16) - 50; double temp = tempC; String temperatureUnit = "C"; // Get tire pressure int psi = Integer.parseInt(hexData[9], 16); double pressure = psi; String pressureUnit = "psi"; // Get battery voltage double voltage = Integer.parseInt(hexData[10], 16) / 50; // Get pressure thresholds int lowPressure = Integer.parseInt(sharedPrefs.getString("prefLowPressure", "30")); int highPressure = Integer .parseInt(sharedPrefs.getString("prefHighPressure", "46")); if (sharedPrefs.getString("prefTempF", "0").contains("1")) { // F temp = (9.0 / 5.0) * tempC + 32.0; temperatureUnit = "F"; } int formattedTemperature = (int) (temp + 0.5d); String pressureFormat = sharedPrefs.getString("prefPressureF", "0"); if (pressureFormat.contains("1")) { // KPa pressure = psi * 6.894757293168361; pressureUnit = "KPa"; } else if (pressureFormat.contains("2")) { // Kg-f pressure = psi * 0.070306957965539; pressureUnit = "Kg-f"; } else if (pressureFormat.contains("3")) { // Bar pressure = psi * 0.0689475729; pressureUnit = "Bar"; } int formattedPressure = (int) (pressure + 0.5d); // Get checksum String checksum = hexData[11]; if (Integer.parseInt(hexData[3], 16) <= 2) { Log.d(TAG, "Front ID matched: " + Integer.parseInt(hexData[3], 16)); frontPressurePSI = psi; // Set front tire status if (psi <= lowPressure) { frontStatus = 1; } else if (psi >= highPressure) { frontStatus = 2; } else { frontStatus = 0; } if (sharedPrefs.getString("prefInfoView", "0").contains("2")) { txtFrontTPMS = (TextView) findViewById(R.id.textViewFrontTPMS); txtFrontTPMS.setTextSize(TypedValue.COMPLEX_UNIT_SP, 50); txtFrontTPMS .setText(String.valueOf(formattedPressure) + " " + pressureUnit); if (frontStatus != 0) { txtFrontTPMS.setTextColor(getResources().getColor(R.color.red)); } else { txtFrontTPMS .setTextColor(getResources().getColor(android.R.color.black)); } } } else if (Integer.parseInt(hexData[3], 16) > 2) { Log.d(TAG, "Rear ID matched: " + Integer.parseInt(hexData[3], 16)); rearPressurePSI = psi; // Set rear tire status if (psi <= lowPressure) { rearStatus = 4; } else if (psi >= highPressure) { rearStatus = 5; } else { rearStatus = 3; } if (sharedPrefs.getString("prefInfoView", "0").contains("2")) { txtRearTPMS = (TextView) findViewById(R.id.textViewRearTPMS); txtRearTPMS.setTextSize(TypedValue.COMPLEX_UNIT_SP, 50); txtRearTPMS.setText(String.valueOf(formattedPressure) + " " + pressureUnit); if (rearStatus != 3) { txtRearTPMS.setTextColor(getResources().getColor(R.color.red)); } else { txtRearTPMS .setTextColor(getResources().getColor(android.R.color.black)); } } } // Reset icon if ((frontStatus == 0) && (rearStatus == 3)) { imageButtonTPMS.setImageResource(R.mipmap.tpms_on); } if ((frontStatus != 0) || (rearStatus != 3)) { imageButtonTPMS.setImageResource(R.mipmap.tpms_alert); SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putString("prefInfoView", String.valueOf(2)); editor.commit(); updateLayout(); int delay = (Integer .parseInt(sharedPrefs.getString("prefAudioAlertDelay", "30")) * 1000); String currStatus = (String.valueOf(frontStatus) + String.valueOf(rearStatus)); if (alertTimer == 0) { alertTimer = System.currentTimeMillis(); } else { long currentTime = System.currentTimeMillis(); long duration = (currentTime - alertTimer); if (!currStatus.equals(lastStatus) || duration >= delay) { alertTimer = 0; if ((frontStatus == 1) && (rearStatus == 3)) { speakString( getResources().getString(R.string.alert_lowFrontPressure)); } else if ((frontStatus == 2) && (rearStatus == 3)) { speakString( getResources().getString(R.string.alert_highFrontPressure)); } else if ((rearStatus == 4) && (frontStatus == 0)) { speakString( getResources().getString(R.string.alert_lowRearPressure)); } else if ((rearStatus == 5) && (frontStatus == 0)) { speakString( getResources().getString(R.string.alert_highRearPressure)); } else if ((frontStatus == 1) && (rearStatus == 4)) { speakString(getResources() .getString(R.string.alert_lowFrontLowRearPressure)); } else if ((frontStatus == 2) && (rearStatus == 5)) { speakString(getResources() .getString(R.string.alert_highFrontHighRearPressure)); } else if ((frontStatus == 1) && (rearStatus == 5)) { speakString(getResources() .getString(R.string.alert_lowFrontHighRearPressure)); } else if ((frontStatus == 2) && (rearStatus == 4)) { speakString(getResources() .getString(R.string.alert_highFrontLowRearPressure)); } lastStatus = (String.valueOf(frontStatus) + String.valueOf(rearStatus)); } } } } catch (NumberFormatException e) { Log.d(TAG, "Malformed message, unexpected value"); } if (sharedPrefs.getBoolean("prefDataLogging", false)) { // Log data if (logger == null) { logger = new LogData(); } if (logger != null) { logger.write(String.valueOf(sbhex)); } } } } else { Log.d(TAG, "Malformed message, message length: " + msg.arg1); } break; } } }; // Sensor Stuff SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); Sensor accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); Sensor magnetometer = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); // Light if (lightSensor == null) { Log.d(TAG, "Light sensor not found"); } else { sensorManager.registerListener(sensorEventListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL); hasSensor = true; } // Compass sensorManager.registerListener(sensorEventListener, accelerometer, SensorManager.SENSOR_DELAY_UI); sensorManager.registerListener(sensorEventListener, magnetometer, SensorManager.SENSOR_DELAY_UI); // Try to connect to CANBusGateway canBusConnect(); // Connect to iTPMS if enabled if (sharedPrefs.getBoolean("prefEnableTPMS", false)) { iTPMSConnect(); } }
From source file:com.google.android.apps.muzei.ArtDetailFragment.java
@Override public void onViewCreated(final View view, @Nullable final Bundle savedInstanceState) { mStatusBarScrimView = view.findViewById(R.id.statusbar_scrim); mChromeContainerView.setBackground(ScrimUtil.makeCubicGradientScrimDrawable(0xaa000000, 8, Gravity.BOTTOM)); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { mStatusBarScrimView.setVisibility(View.GONE); mStatusBarScrimView = null;/* ww w . j a va 2 s . c o m*/ } else { mStatusBarScrimView.setBackground(ScrimUtil.makeCubicGradientScrimDrawable(0x44000000, 8, Gravity.TOP)); } mMetadataView = view.findViewById(R.id.metadata); final float metadataSlideDistance = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, getResources().getDisplayMetrics()); mContainerView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int vis) { final boolean visible = (vis & View.SYSTEM_UI_FLAG_LOW_PROFILE) == 0; mChromeContainerView.setVisibility(View.VISIBLE); mChromeContainerView.animate().alpha(visible ? 1f : 0f) .translationY(visible ? 0 : metadataSlideDistance).setDuration(200) .withEndAction(new Runnable() { @Override public void run() { if (!visible) { mChromeContainerView.setVisibility(View.GONE); } } }); if (mStatusBarScrimView != null) { mStatusBarScrimView.setVisibility(View.VISIBLE); mStatusBarScrimView.animate().alpha(visible ? 1f : 0f).setDuration(200) .withEndAction(new Runnable() { @Override public void run() { if (!visible) { mStatusBarScrimView.setVisibility(View.GONE); } } }); } } }); mTitleView = (TextView) view.findViewById(R.id.title); mBylineView = (TextView) view.findViewById(R.id.byline); mAttributionView = (TextView) view.findViewById(R.id.attribution); final View overflowButton = view.findViewById(R.id.overflow_button); mOverflowMenu = new PopupMenu(getContext(), overflowButton); overflowButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener()); overflowButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mOverflowMenu.show(); } }); mOverflowMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem menuItem) { int id = mOverflowSourceActionMap.get(menuItem.getItemId()); if (id > 0) { SourceManager.sendAction(getContext(), id); return true; } switch (menuItem.getItemId()) { case R.id.action_settings: FirebaseAnalytics.getInstance(getContext()).logEvent("settings_open", null); startActivity(new Intent(getContext(), SettingsActivity.class)); return true; } return false; } }); mNextButton = view.findViewById(R.id.next_button); mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SourceManager.sendAction(getContext(), MuzeiArtSource.BUILTIN_COMMAND_ID_NEXT_ARTWORK); mNextFakeLoading = true; showNextFakeLoading(); } }); CheatSheet.setup(mNextButton); mPanScaleProxyView = (PanScaleProxyView) view.findViewById(R.id.pan_scale_proxy); mPanScaleProxyView.setMaxZoom(5); mPanScaleProxyView.setOnViewportChangedListener(new PanScaleProxyView.OnViewportChangedListener() { @Override public void onViewportChanged() { if (mGuardViewportChangeListener) { return; } ArtDetailViewport.getInstance().setViewport(mCurrentViewportId, mPanScaleProxyView.getCurrentViewport(), true); } }); mPanScaleProxyView.setOnOtherGestureListener(new PanScaleProxyView.OnOtherGestureListener() { @Override public void onSingleTapUp() { showHideChrome((mContainerView.getSystemUiVisibility() & View.SYSTEM_UI_FLAG_LOW_PROFILE) != 0); } }); mLoadingContainerView = view.findViewById(R.id.image_loading_container); mLoadingIndicatorView = (AnimatedMuzeiLoadingSpinnerView) view.findViewById(R.id.image_loading_indicator); mLoadErrorContainerView = view.findViewById(R.id.image_error_container); mLoadErrorEasterEggView = view.findViewById(R.id.error_easter_egg); view.findViewById(R.id.image_error_retry_button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showNextFakeLoading(); getContext().startService(TaskQueueService.getDownloadCurrentArtworkIntent(getContext())); } }); }