diff --git a/extras/pandroid_event_viewer/AndroidManifest.xml b/extras/pandroid_event_viewer/AndroidManifest.xml
index 79251dbf02..b05b965d73 100644
--- a/extras/pandroid_event_viewer/AndroidManifest.xml
+++ b/extras/pandroid_event_viewer/AndroidManifest.xml
@@ -33,5 +33,6 @@
+
\ No newline at end of file
diff --git a/extras/pandroid_event_viewer/ChangeLog b/extras/pandroid_event_viewer/ChangeLog
index 4854b5b068..a5cdc9b80a 100644
--- a/extras/pandroid_event_viewer/ChangeLog
+++ b/extras/pandroid_event_viewer/ChangeLog
@@ -1,3 +1,23 @@
+2011-09-19 Miguel de Dios
+
+ * AndroidManifest.xml: added Options activity.
+
+ * src/pandroid_event_viewer/pandorafms/Options.java, res/layout/options.xml:
+ added ctivity Options to edit application preferences.
+
+ * src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java,
+ src/pandroid_event_viewer/pandorafms/Main.java: added to hook for the
+ options activity.
+
+ * src/pandroid_event_viewer/pandorafms/EventList.java
+
+ * res/values/strings.xml, res/values-en/strings.xml,
+ res/values-es/strings.xml: added some strings const.
+
+ * res/menu/options_menu.xml: the sublayout for the option key.
+
+ *res/layout/list_view_layout.xml: started to show dinamic load items.
+
2011-09-16 Miguel de Dios
* src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java:
diff --git a/extras/pandroid_event_viewer/res/layout/list_view_layout.xml b/extras/pandroid_event_viewer/res/layout/list_view_layout.xml
index 757d428018..2dc062c8b2 100644
--- a/extras/pandroid_event_viewer/res/layout/list_view_layout.xml
+++ b/extras/pandroid_event_viewer/res/layout/list_view_layout.xml
@@ -14,11 +14,32 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-->
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extras/pandroid_event_viewer/res/menu/options_menu.xml b/extras/pandroid_event_viewer/res/menu/options_menu.xml
new file mode 100644
index 0000000000..bc713b6574
--- /dev/null
+++ b/extras/pandroid_event_viewer/res/menu/options_menu.xml
@@ -0,0 +1,23 @@
+
+
+
\ No newline at end of file
diff --git a/extras/pandroid_event_viewer/res/values-en/strings.xml b/extras/pandroid_event_viewer/res/values-en/strings.xml
index 04f0eff649..d3ab4475e6 100644
--- a/extras/pandroid_event_viewer/res/values-en/strings.xml
+++ b/extras/pandroid_event_viewer/res/values-en/strings.xml
@@ -36,4 +36,14 @@
Number Events
Reset
Search
+ Loading
+ Options
+ URL
+ User
+ Password
+ Update
+ Options
+
+ Update configuration successful.
+ Update configuration is failed.
diff --git a/extras/pandroid_event_viewer/res/values-es/strings.xml b/extras/pandroid_event_viewer/res/values-es/strings.xml
index a53fd64437..98432c02b3 100644
--- a/extras/pandroid_event_viewer/res/values-es/strings.xml
+++ b/extras/pandroid_event_viewer/res/values-es/strings.xml
@@ -36,4 +36,14 @@
Número de eventos
Reserteo
Buscar
+ Cargando
+ Opciones
+ URL
+ Usuario
+ Contraseña
+ Actualizar
+ Opciones
+
+ Configuración guardada correctamente.
+ Configuración no ha podido guardarse..
diff --git a/extras/pandroid_event_viewer/res/values/strings.xml b/extras/pandroid_event_viewer/res/values/strings.xml
index 1acc1bcc3c..29492184aa 100644
--- a/extras/pandroid_event_viewer/res/values/strings.xml
+++ b/extras/pandroid_event_viewer/res/values/strings.xml
@@ -15,6 +15,9 @@
// GNU General Public License for more details.
-->
+
+ PANDROID_EVENT_VIEWER_PREFERENCES
+
Main
Event list
@@ -36,4 +39,14 @@
Number Events
Reset
Search
+ Loading
+ Options
+ URL
+ User
+ Password
+ Update
+ Options
+
+ Update configuration successful.
+ Update configuration is failed.
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
index f17b8fc6ae..2623a44356 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
@@ -10,23 +10,22 @@ import java.util.HashMap;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
-import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
-import android.opengl.Visibility;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
-import android.widget.SimpleCursorAdapter;
-import android.widget.TableRow;
import android.widget.TextView;
+import android.widget.Toast;
public class EventList extends ListActivity {
private ListView lv;
@@ -52,6 +51,8 @@ public class EventList extends ListActivity {
setContentView(R.layout.list_view_layout);
+ this.toggleLoadingLayout();
+
lv = (ListView)findViewById(android.R.id.list);
la = new MyAdapter(getBaseContext(), object);
@@ -59,6 +60,30 @@ public class EventList extends ListActivity {
lv.setAdapter(la);
}
+ public void onResume() {
+ super.onResume();
+
+ this.toggleLoadingLayout();
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.options_menu, menu);
+ return true;
+ }
+
+ public void toggleLoadingLayout() {
+ LinearLayout loadingLayout = (LinearLayout) findViewById(R.id.loading_layout);
+
+ if (this.object.loadInProgress) {
+ loadingLayout.setVisibility(LinearLayout.VISIBLE);
+ }
+ else {
+ loadingLayout.setVisibility(LinearLayout.GONE);
+ }
+ }
+
public Bitmap downloadFile(String fileUrl) {Log.e("downloadFile", fileUrl);
URL myFileUrl =null;
try {
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java
index 2e822033b3..29a4a88289 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java
@@ -14,9 +14,15 @@ import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
+import android.app.TabActivity;
import android.content.Intent;
+import android.content.SharedPreferences;
+import android.graphics.Region.Op;
import android.os.Bundle;
import android.util.Log;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
@@ -28,12 +34,23 @@ import android.widget.TimePicker;
public class Main extends Activity {
public PandroidEventviewerActivity object;
public HashMap pandoraGroups;
+ public String url;
+ public String user;
+ public String password;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ SharedPreferences preferences = getSharedPreferences(
+ this.getString(R.string.const_string_preferences),
+ Activity.MODE_PRIVATE);
+
+ this.url = preferences.getString("url", "");
+ this.user = preferences.getString("user", "");
+ this.password = preferences.getString("password", "");
+
Intent i = getIntent();
this.object = (PandroidEventviewerActivity)i.getSerializableExtra("object");
@@ -68,8 +85,32 @@ public class Main extends Activity {
});
}
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.options_menu, menu);
+ return true;
+ }
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.options_button_menu_options:
+ Intent i = new Intent(this, Options.class);
+
+ startActivity(i);
+ break;
+ }
+
+ return true;
+ }
+
public void search_form() {
+ //Clean the EventList
+ this.object.eventList = new ArrayList();
+ this.object.loadInProgress = true;
+ TabActivity ta = (TabActivity) this.getParent();
+ ta.getTabHost().setCurrentTab(1);
}
public void reset_form() {
@@ -98,12 +139,11 @@ public class Main extends Activity {
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
- HttpPost httpPost = new HttpPost(
- "http://192.168.70.112/pandora_console/include/api.php");
+ HttpPost httpPost = new HttpPost(this.url);
List parameters = new ArrayList(2);
- parameters.add(new BasicNameValuePair("user", "admin"));
- parameters.add(new BasicNameValuePair("pass", "pandora"));
+ parameters.add(new BasicNameValuePair("user", this.user));
+ parameters.add(new BasicNameValuePair("pass", this.password));
parameters.add(new BasicNameValuePair("op", "get"));
parameters.add(new BasicNameValuePair("op2", "groups"));
parameters.add(new BasicNameValuePair("other_mode", "url_encode_separator_|"));
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Options.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Options.java
new file mode 100644
index 0000000000..c965692f8f
--- /dev/null
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Options.java
@@ -0,0 +1,73 @@
+package pandroid_event_viewer.pandorafms;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+public class Options extends Activity {
+ public String url;
+ public String user;
+ public String password;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ setContentView(R.layout.options);
+
+ SharedPreferences preferences = getSharedPreferences(
+ this.getString(R.string.const_string_preferences),
+ Activity.MODE_PRIVATE);
+
+ url = preferences.getString("url", "");
+ user = preferences.getString("user", "");
+ password = preferences.getString("password", "");
+
+ EditText text = (EditText) findViewById(R.id.url);
+ text.setText(url);
+ text = (EditText) findViewById(R.id.user);
+ text.setText(user);
+
+ final Button buttonSearch = (Button) findViewById(R.id.update_options);
+ buttonSearch.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ save_options();
+ }
+ });
+ }
+
+ public void save_options() {
+ SharedPreferences preferences = getSharedPreferences(
+ this.getString(R.string.const_string_preferences),
+ Activity.MODE_PRIVATE);
+
+ SharedPreferences.Editor editorPreferences = preferences.edit();
+
+ EditText text = (EditText) findViewById(R.id.url);
+
+ editorPreferences.putString("url", text.getText().toString());
+ text = (EditText) findViewById(R.id.user);
+ editorPreferences.putString("user", text.getText().toString());
+ text = (EditText) findViewById(R.id.password);
+ editorPreferences.putString("password", text.getText().toString());
+
+ Context context = this.getApplicationContext();
+ int duration = Toast.LENGTH_SHORT;
+
+ if (editorPreferences.commit()) {
+ Toast toast = Toast.makeText(context, this.getString(R.string.config_update_succesful_str), duration);
+ toast.show();
+ }
+ else {
+ Toast toast = Toast.makeText(context, this.getString(R.string.config_update_fail_str), duration);
+ toast.show();
+ }
+ }
+}
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
index 1a2e9c158e..4e938c403e 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
@@ -30,6 +30,7 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
+import android.R.bool;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
@@ -38,6 +39,7 @@ import android.widget.TabHost;
public class PandroidEventviewerActivity extends TabActivity implements Serializable {
public ArrayList eventList;
+ public boolean loadInProgress;
/** Called when the activity is first created. */
@Override
@@ -45,6 +47,7 @@ public class PandroidEventviewerActivity extends TabActivity implements Serializ
super.onCreate(savedInstanceState);
this.eventList = new ArrayList();
+ this.loadInProgress = false;
final TabHost tabHost = getTabHost();