diff options
author | git-vdr <herrlado@gmail.com> | 2011-10-04 01:39:17 +0200 |
---|---|---|
committer | git-vdr <herrlado@gmail.com> | 2011-10-04 01:39:17 +0200 |
commit | af1c51aab7d27631bef3c522822ad9e00674b9d2 (patch) | |
tree | f2a01ae8e577f8ad296949e828b8cce94f2f48bd /vdrmanager | |
parent | 462068a9d3cbc05888d3ed745145a5e0be1724aa (diff) | |
download | vdr-manager-af1c51aab7d27631bef3c522822ad9e00674b9d2.tar.gz vdr-manager-af1c51aab7d27631bef3c522822ad9e00674b9d2.tar.bz2 |
base activity with some features
Diffstat (limited to 'vdrmanager')
-rw-r--r-- | vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java | 105 |
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; +// } + + + +} |