@Override public void run() { App.forgrundstråd.removeCallbacks(tjekFragmentSynligt); if (!getUserVisibleHint() || !isResumed()) return; // Ekstra tjek Log.d("Udsendelse_frag tjekFragmentSynligt "); if (aktuelUdsendelsePåKanalen() || udsendelse.playliste == null) opdaterSpillelisteRunnable.run(); if (udsendelse.kanHøres && afspiller.getAfspillerstatus() == Status.STOPPET) { afspiller.setLydkilde(udsendelse); } }
@Override public void onItemClick(AdapterView<?> listView, View view, int position, long id) { if (position == 0) return; // startActivity(new Intent(getActivity(), VisFragment_akt.class).putExtras(getArguments()) // // Kanalkode + slug // .putExtra(VisFragment_akt.KLASSE, // Programserie_frag.class.getName()).putExtra(DRJson.SeriesSlug.name(), // udsendelse.programserieSlug)); int type = adapter.getItemViewType(position); if (type == PLAYLISTEELEM || type == PLAYLISTEELEM_NU) { if (!udsendelse.streamsKlar() || !udsendelse.kanHøres) return; // Det må være et playlisteelement final Playlisteelement pl = (Playlisteelement) liste.get(position); if (udsendelse.equals(afspiller.getLydkilde()) && afspiller.getAfspillerstatus() == Status.SPILLER) { afspiller.seekTo(pl.offsetMs); } else { DRData.instans.senestLyttede.registrérLytning(udsendelse); DRData.instans.senestLyttede.sætStartposition(udsendelse, pl.offsetMs); afspiller.setLydkilde(udsendelse); afspiller.startAfspilning(); } playlisteElemDerSpillerNu = pl; playlisteElemDerSpillerNuIndex = udsendelse.playliste.indexOf(pl); adapter.notifyDataSetChanged(); Log.registrérTestet("Valg af playlisteelement", "ja"); } else if (type == INDSLAGLISTEELEM) { if (!udsendelse.streamsKlar()) return; final Indslaglisteelement pl = (Indslaglisteelement) liste.get(position); if (udsendelse.equals(afspiller.getLydkilde()) && afspiller.getAfspillerstatus() == Status.SPILLER) { afspiller.seekTo(pl.offsetMs); } else { afspiller.setLydkilde(udsendelse); afspiller.startAfspilning(); afspiller.observatører.add( new Runnable() { @Override public void run() { if (afspiller.getLydkilde() == udsendelse) { if (afspiller.getAfspillerstatus() != Status.SPILLER) return; afspiller.seekTo(pl.offsetMs); } afspiller.observatører.remove(this); // afregistrér } }); } Log.registrérTestet("Valg af indslag", "ja"); } else if (type == ALLE_UDSENDELSER) { Fragment f = new Programserie_frag(); f.setArguments( new Intent() .putExtra(P_kode, kanal.kode) .putExtra(DRJson.Slug.name(), udsendelse.slug) .putExtra(DRJson.SeriesSlug.name(), udsendelse.programserieSlug) .getExtras()); getActivity() .getSupportFragmentManager() .beginTransaction() .replace(R.id.indhold_frag, f) .addToBackStack(null) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .commit(); Sidevisning.vist(Programserie_frag.class, udsendelse.programserieSlug); } }
private void opdaterTop() { AQuery aq = (AQuery) topView.getTag(); // aq.id(R.id.højttalerikon).visibility(streams ? View.VISIBLE : View.GONE); /* boolean lydkildeErDenneUds = udsendelse.equals(afspiller.getLydkilde()); boolean lydkildeErDenneKanal = kanal == afspiller.getLydkilde().getKanal(); boolean aktuelUdsendelsePåKanalen = udsendelse.equals(udsendelse.getKanal().getUdsendelse()); */ boolean spiller = afspiller.getAfspillerstatus() == Status.SPILLER; boolean forbinder = afspiller.getAfspillerstatus() == Status.FORBINDER; boolean erOnline = App.netværk.erOnline(); boolean udsendelsenSpillerNu = udsendelse.equals(afspiller.getLydkilde().getUdsendelse()) && (spiller || forbinder); boolean udsendelsenErAktuelPåKanalen = udsendelse.equals(udsendelse.getKanal().getUdsendelse()); /* Muligheder Udsendelsen spiller lige nu */ ImageView hør_ikon = aq.id(R.id.hør).getImageView(); TextView hør_tekst = aq.id(R.id.hør_tekst).getTextView(); if (false) ; else if (udsendelsenSpillerNu) { // Afspiller / forbinder denne udsendelse hør_ikon.setVisibility(View.GONE); hør_tekst.setVisibility(View.VISIBLE); hør_tekst.setText(spiller ? R.string.AFSPILLER : R.string.FORBINDER); } else if (udsendelse.hentetStream != null) { // Hentet udsendelse hør_ikon.setVisibility(View.VISIBLE); hør_tekst.setVisibility(View.GONE); } else if (!erOnline) { // Ej online hør_ikon.setVisibility(View.GONE); hør_tekst.setVisibility(View.VISIBLE); hør_tekst.setText(R.string.INTERNETFORBINDELSE_MANGLER); } else if (!udsendelse.kanHøres && !udsendelsenErAktuelPåKanalen) { // On demand og direkte udsendelser hør_ikon.setVisibility(View.GONE); hør_tekst.setVisibility(View.VISIBLE); hør_tekst.setText(R.string.KAN_IKKE_AFSPILLES); } else { hør_ikon.setVisibility(View.VISIBLE); hør_tekst.setVisibility(View.GONE); } /* skrald aq.id(R.id.hent).text("SPILLER " + kanal.navn.toUpperCase() + " LIVE"); */ Cursor c = DRData.instans.hentedeUdsendelser.getStatusCursor(udsendelse); aq.id(R.id.hent); if (!DRData.instans.hentedeUdsendelser.virker()) { aq.gone(); } else if (c != null) { int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); if (status != DownloadManager.STATUS_SUCCESSFUL && status != DownloadManager.STATUS_FAILED) { App.forgrundstråd.removeCallbacks(this); App.forgrundstråd.postDelayed(this, 5000); } String statustekst = HentedeUdsendelser.getStatustekst(c); c.close(); if (status == DownloadManager.STATUS_SUCCESSFUL) statustekst = "Hentet"; aq.text(statustekst.toUpperCase()).enabled(true).textColorId(R.color.grå40); } else if (!udsendelse.kanHentes) { aq.text(R.string.KAN_IKKE_HENTES).enabled(false).textColorId(R.color.grå40); } else if (!udsendelse.streamsKlar()) { aq.text("").enabled(false).textColorId(R.color.grå40); } else { aq.text(R.string.DOWNLOAD).enabled(true).textColorId(R.color.blå); } udvikling_checkDrSkrifter(topView, this + " position top"); }