From e6bcd116bb6d29e8b18519cdb9e312bef4cb9ac5 Mon Sep 17 00:00:00 2001 From: Christian Dresen <c.dresen@fh-muenster.de> Date: Sat, 27 Jun 2015 19:02:37 +0200 Subject: [PATCH] no message --- .../ms/itsecteam/warpdrink/MainActivity.java | 30 ++++++++- .../ms/itsecteam/warpdrink/data/DataApi.java | 31 +++++++++ .../warpdrink/dialogs/NewUserDialog.java | 60 ++++++++++++++++++ .../app/src/main/res/drawable/ic_menu_add.png | Bin 0 -> 1580 bytes .../app/src/main/res/layout/activity_main.xml | 10 +-- .../src/main/res/layout/new_user_dialog.xml | 39 ++++++++++++ .../app/src/main/res/menu/menu_main.xml | 11 +++- .../app/src/main/res/values/strings.xml | 1 + 8 files changed, 175 insertions(+), 7 deletions(-) create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java create mode 100644 WarpDrinkApp/app/src/main/res/drawable/ic_menu_add.png create mode 100644 WarpDrinkApp/app/src/main/res/layout/new_user_dialog.xml diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java index 163e997..670d686 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java @@ -5,6 +5,9 @@ import android.content.DialogInterface; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; @@ -19,6 +22,7 @@ import java.util.ArrayList; import ms.itsecteam.warpdrink.data.User; import ms.itsecteam.warpdrink.dialogs.ChargeDialog; +import ms.itsecteam.warpdrink.dialogs.NewUserDialog; import ms.itsecteam.warpdrink.orderList.ListViewAdapter; import ms.itsecteam.warpdrink.orderList.Order; @@ -35,6 +39,12 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe private ArrayList<Double> order; private User currentUser; + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu_main, menu); + return true; + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -46,7 +56,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe new User(5, "detlef", 0.5).save(); getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); - getSupportActionBar().hide(); + // getSupportActionBar().hide(); setContentView(R.layout.activity_main); @@ -159,6 +169,9 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe case R.id.btnLogout: clearCurrentUser(); break; + case R.id.btnAddUser: + new NewUserDialog(this).show(); + break; case R.id.btnRefresh: Toast.makeText(this,"refresh" ,Toast.LENGTH_LONG).show(); break; @@ -190,4 +203,19 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe this.currentUser.save(); this.clearCurrentUser(); } + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_settings: + Toast.makeText(this, "Settings selected", Toast.LENGTH_SHORT).show(); + break; + case R.id.action_new_user: + new NewUserDialog(this).show(); + break; + default: + break; + } + + return true; + } + } diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java new file mode 100644 index 0000000..093f144 --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java @@ -0,0 +1,31 @@ +package ms.itsecteam.warpdrink.data; + +/** + * Created by Chris on 27.06.2015. + */ +public class DataApi { + + public static boolean addUser(String name) { + if(User.getByName(name) == null) { + User u = new User(); + u.setName(name); + u.save(); + remoteSaveNewUser(u); + localRefreshUserData(); + return true; + } + return false; + } + + public static void localRefreshUserData() { + + } + + private static boolean remoteSaveNewUser(User u) { + return true; + } + + public static User remoteGetUser(int userid) { + return new User(); + } +} diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java new file mode 100644 index 0000000..1241c57 --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java @@ -0,0 +1,60 @@ +package ms.itsecteam.warpdrink.dialogs; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.View; +import android.view.Window; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import ms.itsecteam.warpdrink.MainActivity; +import ms.itsecteam.warpdrink.R; +import ms.itsecteam.warpdrink.data.DataApi; +import ms.itsecteam.warpdrink.data.User; + +public class NewUserDialog extends Dialog implements + View.OnClickListener { + + public MainActivity c; + public Dialog d; + public Button btnAddUser; + public TextView txtUsername; + public NewUserDialog(MainActivity a) { + super(a); + this.c = a; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + setContentView(R.layout.new_user_dialog); + this.btnAddUser = (Button) findViewById(R.id.btnAddUser); + this.btnAddUser.setOnClickListener(this); + this.txtUsername = (TextView) findViewById(R.id.txtUsername); + + + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.btnAddUser: + String username = this.txtUsername.getText().toString(); + if (!username.equals("")) { + if(!DataApi.addUser(username)) { + Toast.makeText(v.getContext(),"Username ist schon vorhanden",Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(v.getContext(),"User angelegt",Toast.LENGTH_LONG).show(); + dismiss(); + } + } else { + Toast.makeText(v.getContext(),"Username darf nicht leer sein",Toast.LENGTH_LONG).show(); + } + break; + default: + break; + } + } +} diff --git a/WarpDrinkApp/app/src/main/res/drawable/ic_menu_add.png b/WarpDrinkApp/app/src/main/res/drawable/ic_menu_add.png new file mode 100644 index 0000000000000000000000000000000000000000..89620af8c03d187d47c7630e9c2a257b88e9e176 GIT binary patch literal 1580 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 T5n|Rp*&~2LwzsSz`6T=U5hc46 literal 0 HcmV?d00001 diff --git a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml index 34f62a8..fe095e2 100644 --- a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml +++ b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml @@ -18,14 +18,15 @@ <LinearLayout android:orientation="vertical" android:layout_width="464dp" - android:layout_height="match_parent"> + android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="50dp" android:layout_row="0" - android:layout_column="1"> + android:layout_column="1" + android:weightSum="1"> <TextView android:layout_width="wrap_content" @@ -40,14 +41,15 @@ android:layout_height="20px" /> <AutoCompleteTextView - android:layout_width="350dp" + android:layout_width="340dp" android:layout_height="wrap_content" android:id="@+id/atxvName" android:imeOptions="actionNext" android:singleLine="true" android:layout_columnSpan="1" android:layout_row="0" - android:layout_column="0" /> + android:layout_column="0" + android:layout_weight="0.54" /> <ImageButton android:layout_width="30dp" diff --git a/WarpDrinkApp/app/src/main/res/layout/new_user_dialog.xml b/WarpDrinkApp/app/src/main/res/layout/new_user_dialog.xml new file mode 100644 index 0000000..7439f4c --- /dev/null +++ b/WarpDrinkApp/app/src/main/res/layout/new_user_dialog.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <Space + android:layout_width="20px" + android:layout_height="20px" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceMedium" + android:text="@string/name" + android:id="@+id/lblUserName" /> + + <Space + android:layout_width="20px" + android:layout_height="20px" /> + + <EditText + android:layout_width="358dp" + android:layout_height="wrap_content" + android:inputType="textPersonName" + android:ems="10" + android:id="@+id/txtUsername" /> + + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/addNewUser" + android:id="@+id/btnAddUser" /> + + <Space + android:layout_width="20px" + android:layout_height="20px" /> + + +</LinearLayout> \ No newline at end of file diff --git a/WarpDrinkApp/app/src/main/res/menu/menu_main.xml b/WarpDrinkApp/app/src/main/res/menu/menu_main.xml index b1cb908..056ff9c 100644 --- a/WarpDrinkApp/app/src/main/res/menu/menu_main.xml +++ b/WarpDrinkApp/app/src/main/res/menu/menu_main.xml @@ -1,6 +1,13 @@ <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=".MainActivity"> - <item android:id="@+id/action_settings" android:title="@string/action_settings" - android:orderInCategory="100" app:showAsAction="never" /> + <item + android:id="@+id/action_settings" + android:title="Settings" /> + <item + android:id="@+id/action_new_user" + android:orderInCategory="100" + android:icon="@drawable/ic_menu_refresh" + android:title="@string/addNewUser" /> + </menu> diff --git a/WarpDrinkApp/app/src/main/res/values/strings.xml b/WarpDrinkApp/app/src/main/res/values/strings.xml index 4bf4b1d..3f128e3 100644 --- a/WarpDrinkApp/app/src/main/res/values/strings.xml +++ b/WarpDrinkApp/app/src/main/res/values/strings.xml @@ -21,6 +21,7 @@ <string name="confirm_payment">Willst du wirklich %1$,.2f Euro bezahlen?</string> <string name="credit">Guthaben: %1$,.2f Euro</string> <string name="total">Gesamt: %1$,.2f Euro</string> + <string name="addNewUser">Benutzer hinzufügen</string> <style name="ButtonText"> <item name="android:layout_width">fill_parent</item> -- GitLab