summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgit-vdr <herrlado@gmail.com>2011-10-04 01:39:17 +0200
committergit-vdr <herrlado@gmail.com>2011-10-04 01:39:17 +0200
commitaf1c51aab7d27631bef3c522822ad9e00674b9d2 (patch)
treef2a01ae8e577f8ad296949e828b8cce94f2f48bd
parent462068a9d3cbc05888d3ed745145a5e0be1724aa (diff)
downloadvdr-manager-af1c51aab7d27631bef3c522822ad9e00674b9d2.tar.gz
vdr-manager-af1c51aab7d27631bef3c522822ad9e00674b9d2.tar.bz2
base activity with some features
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java105
1 files changed, 105 insertions, 0 deletions
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;
+// }
+
+
+
+}