summaryrefslogtreecommitdiffstats
path: root/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java')
-rw-r--r--Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java102
1 files changed, 102 insertions, 0 deletions
diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java
new file mode 100644
index 0000000..91b5d06
--- /dev/null
+++ b/Ministro/src/org/kde/necessitas/ministro/MinistroConfigActivity.java
@@ -0,0 +1,102 @@
+/*
+ Copyright (c) 2011, BogDan Vatra <bog_dan_ro@yahoo.com>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+package org.kde.necessitas.ministro;
+
+import android.app.Activity;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.ArrayAdapter;
+import android.widget.Spinner;
+import android.widget.Toast;
+
+public class MinistroConfigActivity extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setContentView(R.layout.repoconfig);
+ Spinner repositoriesSpinner = (Spinner) findViewById(R.id.repositories);
+ ArrayAdapter<CharSequence> repositories = ArrayAdapter.createFromResource(
+ this, R.array.repositories, android.R.layout.simple_spinner_item);
+ repositories.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ repositoriesSpinner.setAdapter(repositories);
+ repositoriesSpinner.setSelection(repositories.getPosition(MinistroService.getRepository(this)));
+ repositoriesSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
+ public void onItemSelected(AdapterView<?> parent, View view, int pos,
+ long id) {
+ Toast.makeText(parent.getContext()
+ , getResources().getString(R.string.ministro_repository_msg
+ , parent.getItemAtPosition(pos).toString()), Toast.LENGTH_SHORT).show();
+ MinistroService.setRepository(MinistroConfigActivity.this, parent.getItemAtPosition(pos).toString());
+ }
+ public void onNothingSelected(AdapterView<?> arg0) {
+ }
+ });
+
+ Spinner checkFrequencySpinner = (Spinner) findViewById(R.id.check_frequency);
+ ArrayAdapter<CharSequence> checkFrequency = ArrayAdapter.createFromResource(
+ this, R.array.check_frequency, android.R.layout.simple_spinner_item);
+ checkFrequency.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ checkFrequencySpinner.setAdapter(checkFrequency);
+ checkFrequencySpinner.setSelection(checkFrequency.getPosition(MinistroService.getCheckFrequency(this).toString()));
+ checkFrequencySpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
+ public void onItemSelected(AdapterView<?> parent, View view, int pos,
+ long id) {
+ MinistroService.setCheckFrequency(MinistroConfigActivity.this, Long.parseLong(parent.getItemAtPosition(pos).toString()));
+ }
+
+ public void onNothingSelected(AdapterView<?> arg0) {
+ }
+ });
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ protected void onDestroy() {
+ NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ int icon = R.drawable.icon;
+ CharSequence tickerText = getResources().getString(R.string.ministro_repository_changed_msg); // ticker-text
+ long when = System.currentTimeMillis(); // notification time
+ Context context = getApplicationContext(); // application Context
+ CharSequence contentTitle = getResources().getString(R.string.ministro_update_msg); // expanded message title
+ CharSequence contentText = getResources().getString(R.string.ministro_repository_changed_tap_msg); // expanded message text
+
+ Intent notificationIntent = new Intent(this, MinistroActivity.class);
+ PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
+
+ // the next two lines initialize the Notification, using the configurations above
+ Notification notification = new Notification(icon, tickerText, when);
+ notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
+ notification.defaults |= Notification.DEFAULT_SOUND;
+ notification.defaults |= Notification.DEFAULT_VIBRATE;
+ notification.defaults |= Notification.DEFAULT_LIGHTS;
+ try{
+ nm.notify(1, notification);
+ }catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ super.onDestroy();
+ }
+}