mirror of
https://github.com/nerzhul/ownCloud-SMS-App.git
synced 2026-08-21 21:32:58 +00:00
Improve restore activity a little, not perfect but better
This commit is contained in:
+11
-11
@@ -11,15 +11,16 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ListView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Vector;
|
||||
|
||||
import fr.unix_experience.owncloud_sms.R;
|
||||
import fr.unix_experience.owncloud_sms.adapters.ContactListAdapter;
|
||||
import fr.unix_experience.owncloud_sms.adapters.RecoveryPhoneNumberListViewAdapter;
|
||||
import fr.unix_experience.owncloud_sms.engine.ASyncContactLoad;
|
||||
|
||||
public class ContactListActivity extends Activity implements ASyncContactLoad {
|
||||
@@ -55,16 +56,15 @@ public class ContactListActivity extends Activity implements ASyncContactLoad {
|
||||
android.R.color.holo_orange_light,
|
||||
android.R.color.holo_red_light);
|
||||
|
||||
adapter = new ContactListAdapter(getBaseContext(),
|
||||
android.R.layout.simple_spinner_item,
|
||||
objects,
|
||||
R.layout.contact_list_item,
|
||||
R.id.contactname, this);
|
||||
adapter = new ContactListAdapter(getBaseContext(), objects);
|
||||
|
||||
final Spinner sp = (Spinner) findViewById(R.id.contact_spinner);
|
||||
final LinearLayout contactInfos = (LinearLayout) findViewById(R.id.contactinfos_layout);
|
||||
final ProgressBar contactProgressBar = (ProgressBar) findViewById(R.id.contactlist_pgbar);
|
||||
final TextView contactPhoneList = (TextView) findViewById(R.id.contact_phonelist);
|
||||
final ListView contactPhoneListView = (ListView) findViewById(R.id.contact_phonelistView);
|
||||
final RecoveryPhoneNumberListViewAdapter contactPhoneListAdapter =
|
||||
new RecoveryPhoneNumberListViewAdapter(getBaseContext());
|
||||
contactPhoneListView.setAdapter(contactPhoneListAdapter);
|
||||
|
||||
contactInfos.setVisibility(View.INVISIBLE);
|
||||
|
||||
@@ -72,6 +72,7 @@ public class ContactListActivity extends Activity implements ASyncContactLoad {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||
contactInfos.setVisibility(View.INVISIBLE);
|
||||
contactPhoneListAdapter.clear();
|
||||
|
||||
String contactName = sp.getSelectedItem().toString();
|
||||
Vector<String> phoneList = fetchContact(contactName);
|
||||
@@ -79,16 +80,15 @@ public class ContactListActivity extends Activity implements ASyncContactLoad {
|
||||
// @TODO asynctask to load more datas
|
||||
|
||||
if (!phoneList.isEmpty()) {
|
||||
String res = "";
|
||||
for (String pn: phoneList) {
|
||||
res += "- " + pn + "\n";
|
||||
contactPhoneListAdapter.add(pn);
|
||||
}
|
||||
contactPhoneList.setText(res);
|
||||
} else {
|
||||
contactPhoneList.setText(contactName);
|
||||
contactPhoneListAdapter.add(contactName);
|
||||
}
|
||||
|
||||
contactInfos.setVisibility(View.VISIBLE);
|
||||
contactPhoneListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package fr.unix_experience.owncloud_sms.adapters;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -10,20 +9,18 @@ import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import fr.unix_experience.owncloud_sms.R;
|
||||
|
||||
public class ContactListAdapter extends ArrayAdapter<String> {
|
||||
private final ArrayList<String> _objects;
|
||||
private static int _itemLayout;
|
||||
private static int _fieldId;
|
||||
private final Activity _activity;
|
||||
|
||||
// Design
|
||||
private final static int _itemLayout = R.layout.contact_list_item;
|
||||
private final static int _fieldId = R.id.contactname;
|
||||
|
||||
public ContactListAdapter(Context context, int resource,
|
||||
ArrayList<String> objects, int itemLayout,
|
||||
int fieldId, Activity activity) {
|
||||
super(context, resource, objects);
|
||||
public ContactListAdapter(Context context, ArrayList<String> objects) {
|
||||
super(context, android.R.layout.simple_spinner_item, objects);
|
||||
_objects = objects;
|
||||
ContactListAdapter._itemLayout = itemLayout;
|
||||
ContactListAdapter._fieldId = fieldId;
|
||||
_activity = activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package fr.unix_experience.owncloud_sms.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import fr.unix_experience.owncloud_sms.R;
|
||||
|
||||
public class RecoveryPhoneNumberListViewAdapter extends ArrayAdapter<String> {
|
||||
private static final String TAG = "RecPhoneNumberListVAdp";
|
||||
private static int _fieldId = R.id.recovery_phone;
|
||||
private static int _itemLayout = R.layout.recovery_phone_list_item;
|
||||
private static int resource = android.R.layout.simple_list_item_2;
|
||||
|
||||
public RecoveryPhoneNumberListViewAdapter(Context context) {
|
||||
super(context, resource, new ArrayList<String>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
View v = convertView;
|
||||
if (v == null) {
|
||||
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
v = inflater.inflate(RecoveryPhoneNumberListViewAdapter._itemLayout, null);
|
||||
}
|
||||
|
||||
TextView label = (TextView) v.findViewById(RecoveryPhoneNumberListViewAdapter._fieldId);
|
||||
if (label != null) {
|
||||
final String l = getItem(position).toString();
|
||||
label.setText(getItem(position).toString());
|
||||
v.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Log.d(TAG, "Clicked on phone " + l);
|
||||
}
|
||||
});
|
||||
v.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
Log.d(TAG, "Long clicked on phone " + l);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return v;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user