shlist

share and manage lists between multiple people
Log | Files | Refs

commit cbfc0317e04e6684218991e3a251547e1d00cd77
parent dfaa34db1db1b75b9fad0a6124c3f9bc9c8db375
Author: David Engel <david@absentmindedproductions.ca>
Date:   Sun, 23 Aug 2015 22:40:18 -0600

android: New view for landscape orientation of lists. Custom list rows for lists and list items, custom list adapter for list items allows filling using multiple lists and awareness of which item was selected. All items in each row have responsive onclicklisteners.

Diffstat:
Mandroid/shlist/.idea/inspectionProfiles/Project_Default.xml | 1+
Mandroid/shlist/app/src/main/AndroidManifest.xml | 10+++++++++-
Mandroid/shlist/app/src/main/java/drsocto/shlist/ContactsScreen.java | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
Mandroid/shlist/app/src/main/java/drsocto/shlist/HomeScreen.java | 18+++++++++++++++---
Aandroid/shlist/app/src/main/java/drsocto/shlist/ListScreen.java | 207+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-land/item_row.xml | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-land/layout_home_screen.xml | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-land/layout_list_screen.xml | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-land/list_row.xml | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-port/item_row.xml | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-port/layout_home_screen.xml | 64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-port/layout_list_screen.xml | 46++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout-port/list_row.xml | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Aandroid/shlist/app/src/main/res/layout/contact_row.xml | 12++++++++++++
Mandroid/shlist/app/src/main/res/layout/layout_contacts_screen.xml | 49-------------------------------------------------
Dandroid/shlist/app/src/main/res/layout/layout_home_screen.xml | 100-------------------------------------------------------------------------------
Dandroid/shlist/app/src/main/res/layout/list_row.xml | 24------------------------
Mandroid/shlist/app/src/main/res/menu/menu_home_screen.xml | 3+++
Aandroid/shlist/app/src/main/res/menu/menu_list_screen.xml | 8++++++++
Mandroid/shlist/app/src/main/res/values/strings.xml | 1+
20 files changed, 771 insertions(+), 179 deletions(-)

diff --git a/android/shlist/.idea/inspectionProfiles/Project_Default.xml b/android/shlist/.idea/inspectionProfiles/Project_Default.xml @@ -3,6 +3,7 @@ <option name="myName" value="Project Default" /> <option name="myLocal" value="false" /> <inspection_tool class="AndroidLintButtonStyle" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="AndroidLintRtlCompat" enabled="false" level="ERROR" enabled_by_default="false" /> <inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false"> <option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" /> <option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" /> diff --git a/android/shlist/app/src/main/AndroidManifest.xml b/android/shlist/app/src/main/AndroidManifest.xml @@ -22,7 +22,15 @@ </activity> <activity android:name=".ContactsScreen" - android:label="@string/app_name"> + android:label="@string/app_name" > + </activity> + <activity + android:name=".ListScreen" + android:label="@string/title_activity_list_screen" + android:parentActivityName=".HomeScreen" > + <meta-data + android:name="android.support.PARENT_ACTIVITY" + android:value="drsocto.shlist.HomeScreen" /> </activity> </application> diff --git a/android/shlist/app/src/main/java/drsocto/shlist/ContactsScreen.java b/android/shlist/app/src/main/java/drsocto/shlist/ContactsScreen.java @@ -1,14 +1,22 @@ package drsocto.shlist; +import android.content.Context; +import android.content.Intent; import android.database.Cursor; import android.provider.ContactsContract; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.view.ViewGroup; import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.CheckBox; import android.widget.ListView; +import android.widget.TextView; import java.util.ArrayList; @@ -21,7 +29,6 @@ public class ContactsScreen extends ActionBarActivity { setContentView(R.layout.layout_contacts_screen); ArrayList<String> list = new ArrayList<String>(); - ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_row, R.id.r_text, list); ListView lv = (ListView) findViewById(R.id.contactList); Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null); @@ -33,7 +40,7 @@ public class ContactsScreen extends ActionBarActivity { } phones.close(); - + ArrayAdapter<String> adapter = new MyCustomAdapter(this, R.layout.contact_row, list); lv.setAdapter(adapter); } @@ -63,4 +70,56 @@ public class ContactsScreen extends ActionBarActivity { return super.onOptionsItemSelected(item); } + + private class MyCustomAdapter extends ArrayAdapter<String> { + + private ArrayList<String> taskList; + + public MyCustomAdapter(Context context, int textViewResourceId, + ArrayList<String> taskList) { + super(context, textViewResourceId, taskList); + this.taskList = new ArrayList<String>(); + this.taskList.addAll(taskList); + } + + private class ViewHolder { + CheckBox cBox; + } + + @Override + public View getView(final int position, View convertView, ViewGroup parent) { + + ViewHolder viewHolder = null; + Log.v("ConvertView", String.valueOf(position)); + + if (convertView == null) { + LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = inflater.inflate(R.layout.contact_row, null); + + viewHolder = new ViewHolder(); + viewHolder.cBox = (CheckBox) convertView.findViewById(R.id.contactCheckBox); + convertView.setTag(viewHolder); + + viewHolder.cBox.setOnClickListener( new View.OnClickListener() { + public void onClick(View v) { + CheckBox taskCB = (CheckBox) v; + if (taskCB.isChecked()) + Log.d("User Input: ", "Checked " + taskCB.getText()); + else + Log.d("User Input: ", "Un-Checked " + taskCB.getText()); + } + }); + } + else { + viewHolder = (ViewHolder) convertView.getTag(); + } + + String task = taskList.get(position); + viewHolder.cBox.setText(task); + + return convertView; + + } + + } } diff --git a/android/shlist/app/src/main/java/drsocto/shlist/HomeScreen.java b/android/shlist/app/src/main/java/drsocto/shlist/HomeScreen.java @@ -39,6 +39,8 @@ import java.util.concurrent.TimeoutException; public class HomeScreen extends ActionBarActivity { + public final static String SELECTED_LIST = "drsocto.shlist.SELECTED_LIST"; + private final String DEBUG_TAG = "PIMPJUICE"; private final String SERVER_ADDRESS = "104.236.186.39"; private final int SERVER_PORT = 5437; @@ -115,13 +117,14 @@ public class HomeScreen extends ActionBarActivity { lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long posid) { - String text = adapter1.getItem(position); + /*String text = adapter1.getItem(position); Log.d("lv1", "Clicked: " + text); String[] nameID = text.split(":"); String message = id + "\0" + nameID[1]; new sendLeaveListMessageTask().execute(message, "leave_list"); joinLeaveMessage = text; - joinLeavePosition = position; + joinLeavePosition = position;*/ + listPage(adapter1.getItem(position)); } }); @@ -184,6 +187,8 @@ public class HomeScreen extends ActionBarActivity { addPlanDialog(); } else if(id == R.id.delete_db) { dbHelper.deleteDB(); + } else if(id == R.id.action_contacts) { + contactsPage(); } return super.onOptionsItemSelected(item); @@ -193,7 +198,13 @@ public class HomeScreen extends ActionBarActivity { dbHelper.deleteDB(); } - public void contactsPage(View v) { + public void listPage(String name) { + Intent intent = new Intent(this, ListScreen.class); + intent.putExtra(SELECTED_LIST, name); + startActivity(intent); + } + + public void contactsPage() { Intent intent = new Intent(this, ContactsScreen.class); startActivity(intent); } @@ -201,6 +212,7 @@ public class HomeScreen extends ActionBarActivity { public void addList(String name) { dbHelper.openOrCreateDB(); String device_id = dbHelper.getDeviceID(); + dbHelper.closeDB(); String message = device_id + "\0" + name; new sendNewListMessageTask().execute(message, "new_list"); // send pair to server diff --git a/android/shlist/app/src/main/java/drsocto/shlist/ListScreen.java b/android/shlist/app/src/main/java/drsocto/shlist/ListScreen.java @@ -0,0 +1,207 @@ +package drsocto.shlist; + +import android.content.Context; +import android.content.Intent; +import android.support.v7.app.ActionBarActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.CheckBox; +import android.widget.ListView; +import android.widget.Switch; +import android.widget.TextView; + +import java.util.ArrayList; + + +public class ListScreen extends ActionBarActivity { + ArrayList<String> list1; + ArrayList<String> list1a; + ArrayList<String> list1b; + ArrayList<String> list2; + + ArrayAdapter<String> adapter1; + ArrayAdapter<String> adapter2; + + TextView cListsTV; + TextView oListsTV; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.layout_list_screen); + + Intent intent = getIntent(); + String listName = intent.getStringExtra(HomeScreen.SELECTED_LIST); + + setTitle(listName); + + // Shared items + list1 = new ArrayList<String>(); + list1a = new ArrayList<String>(); + list1b = new ArrayList<String>(); + list1.add("Axe"); + list1a.add("4"); + list1b.add("Jeb"); + + adapter1 = new MyCustomAdapter(this, R.layout.item_row, list1, list1a, list1b); + + ListView lv1 = (ListView) findViewById(R.id.sharedItems); + + list2 = new ArrayList<String>(); + list2.add("Space Muffins"); + + adapter2 = new ArrayAdapter<String>(this, R.layout.item_row, R.id.itemName, list2); + + ListView lv2 = (ListView) findViewById(R.id.privateItems); + lv2.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView<?> parent, View view, int position, long id) { + String name = adapter2.getItem(position); + list2.remove(position); + list1.add(name); + adapter1.notifyDataSetChanged(); + adapter2.notifyDataSetChanged(); + } + }); + + cListsTV = (TextView) findViewById(R.id.sharedItemsTV); + oListsTV = (TextView) findViewById(R.id.privateItemsTV); + + cListsTV.setText("Shared Items (" + list1.size() + ")"); + oListsTV.setText("Private Items (" + list2.size() + ")"); + + lv1.setAdapter(adapter1); + lv2.setAdapter(adapter2); + } + + public void addListItem() { + list2.add("Foobar"); + adapter2.notifyDataSetChanged(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_list_screen, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } if(id == R.id.action_add) { + addListItem(); + } + + return super.onOptionsItemSelected(item); + } + + + + + private class MyCustomAdapter extends ArrayAdapter<String> { + + private ArrayList<String> nlist; + private ArrayList<String> qlist; + private ArrayList<String> olist; + + public MyCustomAdapter(Context context, int textViewResourceId, + ArrayList<String> nlist, ArrayList<String> qlist, ArrayList<String> olist) { + super(context, textViewResourceId, nlist); + this.nlist = new ArrayList<String>(); + this.nlist.addAll(nlist); + this.olist = new ArrayList<String>(); + this.olist.addAll(olist); + this.qlist = new ArrayList<String>(); + this.qlist.addAll(qlist); + } + + private class ViewHolder { + TextView name; + TextView quantity; + TextView owner; + Switch complete; + } + + @Override + public View getView(final int position, View convertView, ViewGroup parent) { + + ViewHolder viewHolder = null; + Log.v("ConvertView", String.valueOf(position)); + + if (convertView == null) { + LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = inflater.inflate(R.layout.item_row, null); + + viewHolder = new ViewHolder(); + viewHolder.name = (TextView) convertView.findViewById(R.id.itemName); + viewHolder.quantity = (TextView) convertView.findViewById(R.id.itemQuantity); + viewHolder.owner = (TextView) convertView.findViewById(R.id.itemOwner); + viewHolder.complete = (Switch) convertView.findViewById(R.id.itemComplete); + convertView.setTag(viewHolder); + + viewHolder.name.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TextView tv = (TextView) v; + Log.d("User Input", "Clicked: " + tv.getText()); + } + }); + + viewHolder.quantity.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TextView tv = (TextView) v; + Log.d("User Input", "Clicked: " + tv.getText()); + } + }); + + viewHolder.owner.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TextView tv = (TextView) v; + Log.d("User Input", "Clicked: " + tv.getText()); + } + }); + + viewHolder.complete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Log.d("User Input", "Clicked: " + nlist.get(position) + "'s Checkbox"); + } + }); + } + else { + viewHolder = (ViewHolder) convertView.getTag(); + } + + String name = nlist.get(position); + String quantity = qlist.get(position); + String owner = olist.get(position); + viewHolder.name.setText(name); + viewHolder.quantity.setText("(x" + quantity +")"); + viewHolder.owner.setText(owner); + + return convertView; + + } + + } + + +} diff --git a/android/shlist/app/src/main/res/layout-land/item_row.xml b/android/shlist/app/src/main/res/layout-land/item_row.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="match_parent" + android:layout_height="match_parent" + android:clickable="false"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="Medium Text" + android:id="@+id/itemName" + android:layout_alignParentTop="false" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:layout_centerVertical="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceMedium" + android:text="(x2)" + android:id="@+id/itemQuantity" + android:layout_alignParentTop="false" + android:layout_toRightOf="@+id/itemName" + android:layout_toEndOf="@+id/itemName" + android:layout_marginLeft="10dp" + android:layout_centerVertical="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="David" + android:id="@+id/itemOwner" + android:layout_alignParentTop="false" + android:layout_marginRight="10dp" + android:layout_centerVertical="true" + android:layout_alignParentRight="false" + android:layout_toLeftOf="@+id/itemComplete" /> + + <Switch + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/itemComplete" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true" + android:layout_centerVertical="true" + android:checked="false" /> + +</RelativeLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-land/layout_home_screen.xml b/android/shlist/app/src/main/res/layout-land/layout_home_screen.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="0.45"> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Current Lists" + android:id="@+id/currentListsTV" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@color/black" + android:textColor="@color/white" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/currentLists" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0.4" + android:paddingRight="5dp" /> + + </LinearLayout> + + <TextView + android:layout_width="1dp" + android:layout_height="fill_parent" + android:textAppearance="?android:attr/textAppearanceLarge" + android:id="@+id/textView4" + android:background="#ffc0c0c0" /> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="0.45"> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Available Lists" + android:id="@+id/openListsTV" + android:background="@color/black" + android:textColor="@color/white" + android:textAppearance="?android:attr/textAppearanceLarge" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/openLists" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0.4" + android:paddingLeft="2dp" /> + </LinearLayout> + +</LinearLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-land/layout_list_screen.xml b/android/shlist/app/src/main/res/layout-land/layout_list_screen.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="0.45"> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Shared Items" + android:id="@+id/sharedItemsTV" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@color/black" + android:textColor="@color/white" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/sharedItems" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0.4" + android:paddingRight="5dp" /> + + </LinearLayout> + + <TextView + android:layout_width="1dp" + android:layout_height="fill_parent" + android:textAppearance="?android:attr/textAppearanceLarge" + android:id="@+id/textView4" + android:background="#ffc0c0c0" /> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="0.45"> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Available Lists" + android:id="@+id/privateItemsTV" + android:background="@color/black" + android:textColor="@color/white" + android:textAppearance="?android:attr/textAppearanceLarge" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/privateItems" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0.4" + android:paddingLeft="2dp" /> + </LinearLayout> + +</LinearLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-land/list_row.xml b/android/shlist/app/src/main/res/layout-land/list_row.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="(Large Text)" + android:id="@+id/r_text" + android:layout_alignParentTop="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:maxLength="20" + android:longClickable="false" + android:nestedScrollingEnabled="false" + android:singleLine="false" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="(3/9)" + android:id="@+id/textView2" + android:layout_alignParentRight="true" + android:layout_alignBottom="@id/r_text" + android:layout_alignParentBottom="false" + android:layout_alignParentTop="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:text="Friends: David, Greg, Kyle" + android:id="@+id/textView" + android:layout_alignParentTop="false" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="false" + android:layout_alignParentBottom="true" + android:layout_below="@+id/r_text" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:text="In 12 months" + android:id="@+id/textView3" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_below="@+id/textView2" + android:textColor="#ffff0030" /> +</RelativeLayout> diff --git a/android/shlist/app/src/main/res/layout-port/item_row.xml b/android/shlist/app/src/main/res/layout-port/item_row.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" android:layout_width="match_parent" + android:layout_height="match_parent" + android:clickable="false"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="Medium Text" + android:id="@+id/itemName" + android:layout_alignParentTop="false" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:layout_centerVertical="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceMedium" + android:text="(x2)" + android:id="@+id/itemQuantity" + android:layout_alignParentTop="false" + android:layout_toRightOf="@+id/itemName" + android:layout_toEndOf="@+id/itemName" + android:layout_marginLeft="10dp" + android:layout_centerVertical="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="David" + android:id="@+id/itemOwner" + android:layout_alignParentTop="false" + android:layout_marginRight="10dp" + android:layout_centerVertical="true" + android:layout_alignParentRight="false" + android:layout_toLeftOf="@+id/itemComplete" /> + + <Switch + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/itemComplete" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true" + android:layout_centerVertical="true" + android:checked="false" /> + +</RelativeLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-port/layout_home_screen.xml b/android/shlist/app/src/main/res/layout-port/layout_home_screen.xml @@ -0,0 +1,63 @@ +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:id="@+id/homeScreenLayout" + android:orientation="vertical"> + + <!-- <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Foobar" + android:id="@+id/deviceID" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@color/white" + android:textColor="@color/black" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/>--> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Current Lists" + android:id="@+id/currentListsTV" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@color/black" + android:textColor="@color/white" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/currentLists" + android:layout_width="fill_parent" + android:layout_height="275dp" + android:layout_weight="0.4"/> + + <TableLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="right"></TableLayout> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Available Lists" + android:id="@+id/openListsTV" + android:background="@color/black" + android:textColor="@color/white" + android:textAppearance="?android:attr/textAppearanceLarge" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/openLists" + android:layout_width="fill_parent" + android:layout_height="275dp" + android:layout_weight="0.4"/> + +</LinearLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-port/layout_list_screen.xml b/android/shlist/app/src/main/res/layout-port/layout_list_screen.xml @@ -0,0 +1,45 @@ +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Shared Items" + android:id="@+id/sharedItemsTV" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@color/black" + android:textColor="@color/white" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/sharedItems" + android:layout_width="fill_parent" + android:layout_height="275dp" + android:layout_weight="0.4"/> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="Private Items" + android:id="@+id/privateItemsTV" + android:background="@color/black" + android:textColor="@color/white" + android:textAppearance="?android:attr/textAppearanceLarge" + android:paddingTop="10dp" + android:paddingBottom="10dp" + android:paddingLeft="5dp" + android:textSize="15sp"/> + + <ListView + android:id="@+id/privateItems" + android:layout_width="fill_parent" + android:layout_height="275dp" + android:layout_weight="0.4"/> + +</LinearLayout> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout-port/list_row.xml b/android/shlist/app/src/main/res/layout-port/list_row.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="(Large Text)" + android:id="@+id/r_text" + android:layout_alignParentTop="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:maxLength="20" + android:longClickable="false" + android:nestedScrollingEnabled="false" + android:singleLine="false" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceLarge" + android:text="(3/9)" + android:id="@+id/textView2" + android:layout_alignParentRight="true" + android:layout_alignBottom="@id/r_text" + android:layout_alignParentBottom="false" + android:layout_alignParentTop="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:text="Friends: David, Greg, Kyle" + android:id="@+id/textView" + android:layout_alignParentTop="false" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="false" + android:layout_alignParentBottom="true" + android:layout_below="@+id/r_text" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:text="In 12 months" + android:id="@+id/textView3" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_below="@+id/textView2" + android:textColor="#ffffb11a" /> +</RelativeLayout> diff --git a/android/shlist/app/src/main/res/layout/contact_row.xml b/android/shlist/app/src/main/res/layout/contact_row.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<CheckBox + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/contactCheckBox" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:padding="10dip" + android:textSize="17sp" + android:checked="false" + android:focusable="false" + android:focusableInTouchMode="false"/> +\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout/layout_contacts_screen.xml b/android/shlist/app/src/main/res/layout/layout_contacts_screen.xml @@ -4,18 +4,6 @@ android:id="@+id/contactScreenLayout" android:orientation="vertical"> - <!-- <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="Foobar" - android:id="@+id/deviceID" - android:textAppearance="?android:attr/textAppearanceLarge" - android:background="@color/white" - android:textColor="@color/black" - android:paddingTop="10dp" - android:paddingBottom="10dp" - android:paddingLeft="5dp" - android:textSize="15sp"/>--> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" @@ -36,41 +24,4 @@ android:layout_height="275dp" android:layout_weight="0.4"/> - <!--<Button - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:onClick="removeDB" - android:text="Delete DB File"/>--> - <TableLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <TableRow - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <Button - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Lists" - android:id="@+id/button" - android:layout_weight="0.5" - android:padding="0dp" - android:background="#ff353535" - android:textColor="#ffffffff" - android:onClick="listPage"/> - - <Button - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Contacts" - android:id="@+id/button2" - android:layout_weight="0.5" - android:padding="0dp" - android:layout_margin="0dp" - android:background="#ff000000" - android:textColor="#ffffffff" - /> - </TableRow> - </TableLayout> </LinearLayout> \ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout/layout_home_screen.xml b/android/shlist/app/src/main/res/layout/layout_home_screen.xml @@ -1,99 +0,0 @@ - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:id="@+id/homeScreenLayout" - android:orientation="vertical"> - - <!-- <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="Foobar" - android:id="@+id/deviceID" - android:textAppearance="?android:attr/textAppearanceLarge" - android:background="@color/white" - android:textColor="@color/black" - android:paddingTop="10dp" - android:paddingBottom="10dp" - android:paddingLeft="5dp" - android:textSize="15sp"/>--> - - <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="Current Lists" - android:id="@+id/currentListsTV" - android:textAppearance="?android:attr/textAppearanceLarge" - android:background="@color/black" - android:textColor="@color/white" - android:paddingTop="10dp" - android:paddingBottom="10dp" - android:paddingLeft="5dp" - android:textSize="15sp"/> - - <ListView - android:id="@+id/currentLists" - android:layout_width="fill_parent" - android:layout_height="275dp" - android:layout_weight="0.4"/> - - <TableLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="right"></TableLayout> - - <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="Available Lists" - android:id="@+id/openListsTV" - android:background="@color/black" - android:textColor="@color/white" - android:textAppearance="?android:attr/textAppearanceLarge" - android:paddingTop="10dp" - android:paddingBottom="10dp" - android:paddingLeft="5dp" - android:textSize="15sp"/> - - <ListView - android:id="@+id/openLists" - android:layout_width="fill_parent" - android:layout_height="275dp" - android:layout_weight="0.4"/> - - <!--<Button - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:onClick="removeDB" - android:text="Delete DB File"/>--> - <TableLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <TableRow - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <Button - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Lists" - android:id="@+id/button" - android:layout_weight="0.5" - android:padding="0dp" - android:background="#ff000000" - android:textColor="#ffffffff" /> - - <Button - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Contacts" - android:id="@+id/button2" - android:layout_weight="0.5" - android:padding="0dp" - android:layout_margin="0dp" - android:background="#ff353535" - android:textColor="#ffffffff" - android:onClick="contactsPage"/> - </TableRow> - </TableLayout> - </LinearLayout> -\ No newline at end of file diff --git a/android/shlist/app/src/main/res/layout/list_row.xml b/android/shlist/app/src/main/res/layout/list_row.xml @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" > -<TextView - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/r_text" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:textSize="15sp" - android:padding="5dp"/> - -<TextView - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/r_text2" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:text="David, Kyle, Greg" - android:textSize="10sp" - android:paddingLeft="5dp" - android:paddingBottom="5dp"/> - -</LinearLayout> diff --git a/android/shlist/app/src/main/res/menu/menu_home_screen.xml b/android/shlist/app/src/main/res/menu/menu_home_screen.xml @@ -4,9 +4,12 @@ <item android:id="@+id/action_add" android:title="+" app:showAsAction="always"/> + <item android:id="@+id/action_contacts" android:title="Contacts" + android:orderInCategory="100" app:showAsAction="always" /> <item android:id="@+id/delete_db" android:title="Delete DB File" app:showAsAction="never"/> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:orderInCategory="100" app:showAsAction="never" /> + </menu> diff --git a/android/shlist/app/src/main/res/menu/menu_list_screen.xml b/android/shlist/app/src/main/res/menu/menu_list_screen.xml @@ -0,0 +1,8 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" tools:context="drsocto.shlist.ListScreen"> + <item android:id="@+id/action_add" android:title="+" + app:showAsAction="always"/> + <item android:id="@+id/action_settings" android:title="@string/action_settings" + android:orderInCategory="100" app:showAsAction="never" /> +</menu> diff --git a/android/shlist/app/src/main/res/values/strings.xml b/android/shlist/app/src/main/res/values/strings.xml @@ -4,4 +4,5 @@ <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="title_activity_contacts_screen">ContactsScreen</string> + <string name="title_activity_list_screen">ListScreen</string> </resources>