From af1c51aab7d27631bef3c522822ad9e00674b9d2 Mon Sep 17 00:00:00 2001 From: git-vdr Date: Tue, 4 Oct 2011 01:39:17 +0200 Subject: base activity with some features --- .../de/bjusystems/vdrmanager/gui/BaseActivity.java | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java (limited to 'vdrmanager/src') diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java new file mode 100644 index 0000000..629f2a6 --- /dev/null +++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java @@ -0,0 +1,105 @@ +package de.bjusystems.vdrmanager.gui; + +import de.bjusystems.vdrmanager.R; +import de.bjusystems.vdrmanager.app.VdrManagerApp; +import de.bjusystems.vdrmanager.data.Channel; +import android.app.Activity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; + +public abstract class BaseActivity extends Activity implements OnClickListener{ + + + public static final int MENU_GROUP_REFRESH = 99; + + public static final int MENU_REFRESH = 99; + + abstract protected int getMainLayout(); + + protected void switchNoConnection(){ + View view = findViewById(R.id.main_content); + if(view != null){ + view.setVisibility(View.GONE); + } + findViewById(R.id.no_connection_layout).setVisibility(View.VISIBLE); + Button b = (Button) findViewById(R.id.retry_button); + b.setOnClickListener(this); + } + + public void onClick(View v) { + if(v.getId() == R.id.retry_button){ + findViewById(R.id.no_connection_layout).setVisibility(View.GONE); + View view = findViewById(R.id.main_content); + if(view != null){ + view.setVisibility(View.VISIBLE); + } + retry(); + } + } + + protected void updateWindowTitle(int topic, int subtopic) { + String title; + title = getString(topic); + if (subtopic != -1) { + title += " > " + getString(subtopic); + } + setTitle(title); + } + + protected void updateWindowTitle(String topic, String subtopic) { + String title = topic; + if (subtopic != null) { + title += " > " + subtopic; + } + setTitle(title); + } + + + @Override + public boolean onCreateOptionsMenu(final Menu menu) { + MenuItem item; + item = menu.add(MENU_GROUP_REFRESH, MENU_REFRESH, 0, R.string.refresh); + item.setIcon(android.R.drawable.ic_menu_rotate); + item.setAlphabeticShortcut('r'); + return true; + } + + abstract protected void refresh(); + + abstract protected void retry(); + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case MENU_REFRESH: + refresh(); + return true; + + default: + return false; + } + } + + + protected void setAsCurrent(Channel channel) { + getApp().setCurrentChannel(channel); + } + + + protected VdrManagerApp getApp(){ + final VdrManagerApp app = (VdrManagerApp) getApplication(); + return app; + } + + //protected Channel getCurrentChannel(){ + //final Channel channel = ((VdrManagerApp) getApplication()) + //.getCurrentChannel(); + //return channel; +// } + + + +} -- cgit v1.2.3