summaryrefslogtreecommitdiff
path: root/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java
blob: 629f2a6040c49b48474e2ec6756883f859be7ce1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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;
//	}

	
	
}