@Override public void onClick(View v) { if (v.getId() == R.id.del) { del(); } else if (v.getId() == R.id.hør) { hør(); } else if (v.getId() == R.id.hent) { hent(); } else if (v.getId() == R.id.info) { visInfo = true; bygListe(); } else if (v.getId() == R.id.titel) { TextView titel = (TextView) v; titel.setText(udsendelse.beskrivelse); Linkify.addLinks(titel, Linkify.WEB_URLS); } else if (v.getId() == R.id.playliste) { visInfo = false; bygListe(); } else if (v.getId() == R.id.vis_hele_playlisten) { visHelePlaylisten = true; bygListe(); } else if (v.getId() == R.id.favorit) { CheckBox favorit = (CheckBox) v; DRData.instans.favoritter.sætFavorit(udsendelse.programserieSlug, favorit.isChecked()); if (favorit.isChecked()) App.kortToast(R.string.Programserien_er_føjet_til_favoritter); Log.registrérTestet("Valg af favoritprogram", udsendelse.programserieSlug); } else { App.langToast("fejl"); } }
private void hent() { try { int tilladelse = App.instans .getPackageManager() .checkPermission( Manifest.permission.WRITE_EXTERNAL_STORAGE, App.instans.getPackageName()); if (tilladelse != PackageManager.PERMISSION_GRANTED) { AlertDialog.Builder ab = new AlertDialog.Builder(getActivity()); ab.setTitle("Tilladelse mangler"); ab.setMessage( "Du kan give tilladelse til eksternt lager ved at opgradere til den seneste version"); ab.setPositiveButton( "OK, opgrader", new AlertDialog.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Intent i = new Intent( Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=dk.dr.radio")); startActivity(i); } }); ab.setNegativeButton("Nej tak", null); ab.show(); return; } } catch (Exception e) { Log.rapporterFejl(e); } Cursor c = DRData.instans.hentedeUdsendelser.getStatusCursor(udsendelse); if (c != null) { c.close(); // Skift til Hentede_frag try { FragmentManager fm = getActivity().getSupportFragmentManager(); // Fjern IKKE backstak - vi skal kunne hoppe tilbage hertil // fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.indhold_frag, new Hentede_udsendelser_frag()); ft.addToBackStack(null); ft.commit(); Sidevisning.vist(Hentede_udsendelser_frag.class); } catch (Exception e1) { Log.rapporterFejl(e1); } return; } if (!udsendelse.kanHentes) { App.kortToast(R.string.Udsendelsen_kan_ikke_hentes); Log.rapporterFejl( new IllegalStateException("Udsendelsen kan ikke hentes - burde ikke kunne komme hertil")); return; } DRData.instans.hentedeUdsendelser.hent(udsendelse); }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { kanal = DRData.instans.grunddata.kanalFraKode.get(getArguments().getString(Kanal_frag.P_kode)); udsendelse = DRData.instans.udsendelseFraSlug.get(getArguments().getString(DRJson.Slug.name())); if (udsendelse == null) { if (!App.PRODUKTION) Log.rapporterFejl( new IllegalStateException("afbrydManglerData " + getArguments().toString())); afbrydManglerData(); return rod; } if (kanal == null) kanal = udsendelse.getKanal(); if ("".equals(kanal.slug)) { Log.d("Kender ikke kanalen"); } if (App.fejlsøgning) App.kortToast(udsendelse.programserieSlug); blokerVidereNavigering = getArguments().getBoolean(BLOKER_VIDERE_NAVIGERING); if (DRData.instans.programserieSlugFindesIkke.contains(udsendelse.programserieSlug)) { blokerVidereNavigering = true; } Log.d("onCreateView " + this); rod = inflater.inflate(R.layout.udsendelse_frag, container, false); final AQuery aq = new AQuery(rod); listView = aq.id(R.id.listView).adapter(adapter).getListView(); listView.setEmptyView(aq.id(R.id.tom).typeface(App.skrift_gibson).getView()); listView.setOnItemClickListener(this); listView.setContentDescription( udsendelse.titel + " - " + (udsendelse.startTid == null ? "" : DRJson.datoformat.format(udsendelse.startTid))); DRData.instans.hentedeUdsendelser.tjekOmHentet(udsendelse); hentStreams.run(); setHasOptionsMenu(true); bygListe(); afspiller.observatører.add(this); DRData.instans.hentedeUdsendelser.observatører.add(this); DRData.instans.favoritter.observatører.add(opdaterFavoritter); udvikling_checkDrSkrifter(rod, this + " rod"); /* ListViewScrollObserver listViewScrollObserver = new ListViewScrollObserver(listView); listViewScrollObserver.setOnScrollUpAndDownListener(new ListViewScrollObserver.OnListViewScrollListener() { boolean actionBarSkjult = false; @Override public void onScrollUpDownChanged(int delta, int scrollPosition, boolean exact) { Log.d("scrollPosition="+scrollPosition + " delta="+delta); boolean nyActionBarSkjult = scrollPosition>0; if (actionBarSkjult == nyActionBarSkjult) return; actionBarSkjult = nyActionBarSkjult; if (actionBarSkjult) { ((Basisaktivitet) getActivity()).getSupportActionBar().hide(); } else { ((Basisaktivitet) getActivity()).getSupportActionBar().show(); } } @Override public void onScrollIdle() { } }); listView.setOnScrollListener(new AbsListView.OnScrollListener() { boolean actionBarSkjult = false; @Override public void onScrollStateChanged(AbsListView view, int scrollState) { Log.d("onScrollStateChanged "+scrollState); } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { Log.d("onScroll " + firstVisibleItem+ " " +visibleItemCount+ " " +totalItemCount); boolean nyActionBarSkjult = firstVisibleItem>0; if (actionBarSkjult == nyActionBarSkjult) return; actionBarSkjult = nyActionBarSkjult; if (actionBarSkjult) { ((Basisaktivitet) getActivity()).getSupportActionBar().hide();; } else { ((Basisaktivitet) getActivity()).getSupportActionBar().show(); } } }); */ return rod; }