package dk.dr.radio.akt; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ProgressBar; import android.widget.ScrollView; import android.widget.TextView; import com.androidquery.AQuery; import java.util.Date; import dk.dr.radio.data.DRData; import dk.dr.radio.diverse.App; import dk.dr.radio.diverse.Log; import dk.dr.radio.diverse.P4Stedplacering; import dk.dr.radio.v3.R; public class Basisaktivitet extends AppCompatActivity { protected final AQuery aq = new AQuery(this); private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void setContentView(int layoutResID) { setTitle(R.string.D_R_Radio); // til blinde, for at undgå at "DR Radio" bliver udtalt som "Doktor Radio" super.setContentView(layoutResID); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { toolbar.setLogo(R.drawable.dr_logo); setSupportActionBar(toolbar); ActionBar ab = getSupportActionBar(); ab.setDisplayShowTitleEnabled(false); ab.setDisplayHomeAsUpEnabled(true); ab.setHomeButtonEnabled(true); //actionBar.setTitle(""); // tom - vi bruger logo progressBar = (ProgressBar) findViewById(R.id.progressBar); } } public void sætProgressBar(boolean b) { if (progressBar == null) return; progressBar.setVisibility(b ? View.VISIBLE : View.GONE); } @Override public boolean onCreateOptionsMenu(Menu menu) { if (App.fejlsøgning) { menu.add(0, 644, 0, "Hent nyeste udvikler-version"); menu.add(0, 1644, 0, "Tjek P4-område ud fra IP-adresse"); menu.add(0, 642, 0, "Fejlsøgning"); menu.add(0, 643, 0, "Vis log"); menu.add(0, 646, 0, "Send fejlrapport"); menu.add(0, 647, 0, "Fremtving crash (og send rapport)"); // menu.add(0, 2645, 0, "Status på hentninger"); menu.add(0, 13643, 0, "Vis servertid"); } return super.onCreateOptionsMenu(menu); } public static Bundle putString(Bundle args, String key, String value) { args = new Bundle(args); args.putString(key, value); return args; } @SuppressWarnings("deprecation") @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { /* case android.R.id.home: //NavUtils.navigateUpTo(this, new Intent(this, HjemAkt.class)); finish(); return true; */ case 642: App.fejlsøgning = !App.fejlsøgning; App.kortToast("Log.fejlsøgning = " + App.fejlsøgning); return true; case 644: // scp /home/j/android/dr-radio-android/DRRadiov3/out/production/DRRadiov3/DRRadiov3.apk j:../lundogbendsen/hjemmeside/ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://android.lundogbendsen.dk/DRRadiov3.apk"))); return true; case 1644: new AsyncTask() { @Override protected Object doInBackground(Object[] params) { try { String p4kanal = P4Stedplacering.findP4KanalnavnFraIP(); App.langToast("p4kanal: " + p4kanal); } catch (Exception e) { e.printStackTrace(); App.langToast("p4kanal: " + e); } return null; } }.execute(); return true; // case 2645: // DRData.instans.hentedeUdsendelser.status(); // return true; case 13643: App.langToast("Server:\n" + new Date(App.serverCurrentTimeMillis()) + "\n/Lokalt:\n" + new Date()); return true; case 643: AlertDialog.Builder dialog = new AlertDialog.Builder(this); TextView tv = new TextView(this); tv.setText(Log.getLog()); android.util.Log.i("", Log.getLog()); tv.setTextSize(10f); tv.setBackgroundColor(0xFF000000); tv.setTextColor(0xFFFFFFFF); final ScrollView sv = new ScrollView(this); sv.addView(tv); dialog.setView(sv); dialog.show(); sv.post(new Runnable() { public void run() { sv.fullScroll(View.FOCUS_DOWN); } }); android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setText(Log.getLog()); App.kortToast("Log kopieret til udklipsholder"); return true; case 646: Log.rapporterFejl(new Exception("Fejlrapport for enhed sendes")); return true; case 647: throw new IllegalStateException("Brugeren lavede et test-crash"); } return super.onOptionsItemSelected(item); } @Override protected void onStart() { super.onStart(); if (App.fejlsøgning) Log.d(this + " onStart()"); App.instans.aktivitetStartet(this); } @Override protected void onStop() { super.onStop(); if (App.fejlsøgning) Log.d(this + " onStop()"); App.instans.aktivitetStoppet(this); } }