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