Skip to content
Snippets Groups Projects
Commit 3638bdcd authored by Christian Dresen's avatar Christian Dresen
Browse files

no message

parent 138f90f5
No related branches found
No related tags found
No related merge requests found
Showing
with 1132 additions and 214 deletions
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (memory/allocation.inline.hpp:61), pid=13888, tid=5780
#
# JRE version: (7.0_51-b13) (build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
--------------- T H R E A D ---------------
Current thread (0x0000000001dc0800): JavaThread "Unknown thread" [_thread_in_vm, id=5780, stack(0x0000000001cc0000,0x0000000001dc0000)]
Stack: [0x0000000001cc0000,0x0000000001dc0000]
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
Other Threads:
=>0x0000000001dc0800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=5780, stack(0x0000000001cc0000,0x0000000001dc0000)]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
PSYoungGen total 55296K, used 952K [0x00000000eaa80000, 0x00000000ee800000, 0x0000000100000000)
eden space 47616K, 2% used [0x00000000eaa80000,0x00000000eab6e1b0,0x00000000ed900000)
from space 7680K, 0% used [0x00000000ee080000,0x00000000ee080000,0x00000000ee800000)
to space 7680K, 0% used [0x00000000ed900000,0x00000000ed900000,0x00000000ee080000)
ParOldGen total 125440K, used 0K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
object space 125440K, 0% used [0x00000000c0000000,0x00000000c0000000,0x00000000c7a80000)
PSPermGen total 21504K, used 673K [0x00000000bae00000, 0x00000000bc300000, 0x00000000c0000000)
object space 21504K, 3% used [0x00000000bae00000,0x00000000baea8570,0x00000000bc300000)
Card table byte_map: [0x0000000004f80000,0x00000000051b0000] byte_map_base: 0x00000000049a9000
Polling page: 0x0000000000460000
Code Cache [0x0000000001ec0000, 0x0000000002130000, 0x0000000004ec0000)
total_blobs=38 nmethods=0 adapters=20 free_code_cache=48889Kb largest_free_block=50062528
Compilation events (0 events):
No events
GC Heap History (0 events):
No events
Deoptimization events (0 events):
No events
Internal exceptions (0 events):
No events
Events (10 events):
Event: 0.071 loading class 0x0000000001e0f2c0
Event: 0.071 loading class 0x0000000001e0f2c0 done
Event: 0.071 loading class 0x0000000001e0f310
Event: 0.071 loading class 0x0000000001e0f310 done
Event: 0.071 loading class 0x0000000001e0f360
Event: 0.072 loading class 0x0000000001e0f360 done
Event: 0.072 loading class 0x0000000001e100c0
Event: 0.072 loading class 0x0000000001e100c0 done
Event: 0.072 loading class 0x0000000001e0fce0
Event: 0.072 loading class 0x0000000001e0fce0 done
Dynamic libraries:
0x00007ff751e40000 - 0x00007ff751e73000 C:\Program Files\Java\jdk1.7.0_51\bin\java.exe
0x00007fffc8560000 - 0x00007fffc870c000 C:\WINDOWS\SYSTEM32\ntdll.dll
0x00007fffc8110000 - 0x00007fffc824a000 C:\WINDOWS\system32\KERNEL32.DLL
0x00007fffc5970000 - 0x00007fffc5a7f000 C:\WINDOWS\system32\KERNELBASE.dll
0x00007fffc4380000 - 0x00007fffc440e000 C:\WINDOWS\system32\apphelp.dll
0x00007fffb3d30000 - 0x00007fffb3d83000 C:\WINDOWS\AppPatch\AppPatch64\AcGenral.DLL
0x00007fffc6140000 - 0x00007fffc61e7000 C:\WINDOWS\system32\msvcrt.dll
0x00007fffc5650000 - 0x00007fffc567b000 C:\WINDOWS\SYSTEM32\SspiCli.dll
0x00007fffc5cb0000 - 0x00007fffc5d01000 C:\WINDOWS\system32\SHLWAPI.dll
0x00007fffc6690000 - 0x00007fffc6801000 C:\WINDOWS\system32\USER32.dll
0x00007fffc7d90000 - 0x00007fffc7f08000 C:\WINDOWS\system32\ole32.dll
0x00007fffc6830000 - 0x00007fffc7d48000 C:\WINDOWS\system32\SHELL32.dll
0x00007fffc4e10000 - 0x00007fffc4e2f000 C:\WINDOWS\SYSTEM32\USERENV.dll
0x00007fffc65e0000 - 0x00007fffc6685000 C:\WINDOWS\system32\ADVAPI32.dll
0x00007fffb7ba0000 - 0x00007fffb7bbb000 C:\WINDOWS\SYSTEM32\MPR.dll
0x00007fffc5ec0000 - 0x00007fffc5ff7000 C:\WINDOWS\system32\RPCRT4.dll
0x00007fffc8250000 - 0x00007fffc82a9000 C:\WINDOWS\SYSTEM32\sechost.dll
0x00007fffc8380000 - 0x00007fffc8556000 C:\WINDOWS\SYSTEM32\combase.dll
0x00007fffc6490000 - 0x00007fffc65d4000 C:\WINDOWS\system32\GDI32.dll
0x00007fffc57a0000 - 0x00007fffc57b4000 C:\WINDOWS\SYSTEM32\profapi.dll
0x00007fffc42c0000 - 0x00007fffc4372000 C:\WINDOWS\SYSTEM32\SHCORE.dll
0x00007fffc7d50000 - 0x00007fffc7d84000 C:\WINDOWS\system32\IMM32.DLL
0x00007fffc7f10000 - 0x00007fffc8062000 C:\WINDOWS\system32\MSCTF.dll
0x00000000500c0000 - 0x00000000500f8000 C:\PROGRA~2\Sophos\SOPHOS~1\SOPHOS~2.DLL
0x00007fffc6130000 - 0x00007fffc6137000 C:\WINDOWS\system32\PSAPI.DLL
0x00007fffc3740000 - 0x00007fffc39ba000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17810_none_6240b9c7ecbd0bda\COMCTL32.dll
0x0000000075ef0000 - 0x0000000075fc2000 C:\Program Files\Java\jdk1.7.0_51\jre\bin\msvcr100.dll
0x0000000073cf0000 - 0x00000000744b9000 C:\Program Files\Java\jdk1.7.0_51\jre\bin\server\jvm.dll
0x00007fffbc460000 - 0x00007fffbc469000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
0x00007fffc3090000 - 0x00007fffc30af000 C:\WINDOWS\SYSTEM32\WINMM.dll
0x00007fffc82b0000 - 0x00007fffc8308000 C:\WINDOWS\system32\WS2_32.dll
0x00007fffc3050000 - 0x00007fffc307a000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
0x00007fffc5eb0000 - 0x00007fffc5eb9000 C:\WINDOWS\system32\NSI.dll
0x00007fffc5a80000 - 0x00007fffc5aca000 C:\WINDOWS\SYSTEM32\cfgmgr32.dll
0x00007fffc45f0000 - 0x00007fffc4616000 C:\WINDOWS\SYSTEM32\DEVOBJ.dll
0x0000000050090000 - 0x000000005009f000 C:\Program Files\Java\jdk1.7.0_51\jre\bin\verify.dll
0x0000000074800000 - 0x0000000074828000 C:\Program Files\Java\jdk1.7.0_51\jre\bin\java.dll
0x00000000747e0000 - 0x00000000747f5000 C:\Program Files\Java\jdk1.7.0_51\jre\bin\zip.dll
VM Arguments:
jvm_args: -Xmx1024M -Dfile.encoding=windows-1252 -Duser.country=DE -Duser.language=de -Duser.variant
java_command: com.android.dx.command.Main --dex --num-threads=4 --output C:\Users\Chris\Documents\git\warpdrink\WarpDrinkApp\app\build\intermediates\pre-dexed\debug\jackson-core-2.0.1-ac38530da5103924c8b5ca722c5513a67af403c0.jar C:\Users\Chris\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.0.1\481d14ec21e034ed45217c4854dbbf15940ce108\jackson-core-2.0.1.jar
Launcher Type: SUN_STANDARD
Environment Variables:
PATH=C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\idmu\common;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Program Files\Microsoft Network Monitor 3\;C:\Program Files\OpenVPN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Windows Live\Shared
USERNAME=chris
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows 8 , 64 bit Build 9200
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, ht, tsc, tscinvbit
Memory: 4k page, physical 12072340k(1312620k free), swap 17358432k(13148k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (24.51-b03) for windows-amd64 JRE (1.7.0_51-b13), built on Dec 18 2013 18:40:56 by "java_re" with unknown MS VC++:1600
time: Mon Jun 29 16:15:01 2015
elapsed time: 2 seconds
package ms.itsecteam.warpdrink; package ms.itsecteam.warpdrink;
import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.provider.ContactsContract;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.ListIterator;
import ms.itsecteam.warpdrink.data.DataApi;
import ms.itsecteam.warpdrink.data.rest.RestClient;
import ms.itsecteam.warpdrink.data.objects.User; import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.dialogs.ChargeDialog;
import ms.itsecteam.warpdrink.dialogs.NewUserDialog; import ms.itsecteam.warpdrink.dialogs.NewUserDialog;
import ms.itsecteam.warpdrink.orderList.ListViewAdapter; import ms.itsecteam.warpdrink.dialogs.SettingsDialog;
import ms.itsecteam.warpdrink.manager.MainManager;
import ms.itsecteam.warpdrink.manager.UiManager;
import ms.itsecteam.warpdrink.orderList.Order; import ms.itsecteam.warpdrink.orderList.Order;
public class MainActivity extends ActionBarActivity implements View.OnClickListener, View.OnKeyListener, AdapterView.OnItemClickListener, DialogInterface.OnClickListener {
private Button btnPay, btnCharge, btnLogout;
private ImageButton btnRefresh;
private TextView txtSum,txtCredit;
private ListView lstOrdered;
private AutoCompleteTextView atxvName;
private ListViewAdapter lstAdapter; public class MainActivity extends ActionBarActivity implements View.OnClickListener { // implements View.OnClickListener, View.OnKeyListener, AdapterView.OnItemClickListener, DialogInterface.OnClickListener {
private ArrayAdapter atxvAdapter;
private ArrayList<Double> order;
private User currentUser; private User currentUser;
private List<User> users; private List<User> users;
private MainManager manager;
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater(); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu); inflater.inflate(R.menu.menu_main, menu);
return true; return true;
} }
...@@ -55,156 +40,46 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe ...@@ -55,156 +40,46 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
DataApi.getInstance().setMainActivity(this);
this.txtSum = (TextView) findViewById(R.id.txtSum);
this.txtCredit = (TextView)findViewById(R.id.txtCredit);
this.txtCredit.setText(getResources().getString(R.string.credit,0.0));
this.txtSum.setText(getResources().getString(R.string.total,0.0));
this.btnLogout = (Button) findViewById(R.id.btnLogout);
this.btnRefresh = (ImageButton) findViewById(R.id.btnRefresh);
this.btnPay = (Button) findViewById(R.id.btnPay);
this.btnCharge = (Button) findViewById(R.id.btnCharge);
this.lstAdapter = new ListViewAdapter(this, R.layout.order_list_item, new ArrayList<Order>());
this.lstOrdered = (ListView) findViewById(R.id.lstOrdered);
this.lstOrdered.setAdapter(this.lstAdapter);
this.users = User.getAll();
this.atxvAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_item, this.users);
this.atxvName = (AutoCompleteTextView) findViewById(R.id.atxvName);
this.atxvName.setAdapter(atxvAdapter);
this.atxvName.setThreshold(1);
this.atxvName.setOnKeyListener(this);
this.atxvName.setOnItemClickListener(this);
this.btnLogout.setVisibility(View.INVISIBLE); this.manager = MainManager.getInstance();
this.enableControls(false); this.manager.init(this);
DataApi.getInstance().refreshUserData();
} }
private void setCurrentUser(User user) { public void onClick(View v) {
if (user != null) { UiManager.getInstance().onClick(v);
this.enableControls(true);
this.atxvName.dismissDropDown();
this.btnLogout.setVisibility(View.VISIBLE);
this.txtCredit.setText(getResources().getString(R.string.credit,user.getCredit()));
this.currentUser = user;
}
} }
public void refreshUsers() { public boolean onOptionsItemSelected(MenuItem item) {
this.atxvAdapter.clear(); switch (item.getItemId()) {
List <User> userList = User.getAll(); case R.id.action_settings:
ListIterator<User> userListIterator = userList.listIterator(); new SettingsDialog(this).show();
while(userListIterator.hasNext()) { break;
this.atxvAdapter.add(userListIterator.next()); case R.id.action_new_user:
new NewUserDialog().show();
break;
default:
break;
} }
this.users = users;
}
public List<User> getUsers() {
return users; return true;
}
public User getCurrentUser() {
return this.currentUser;
}
private void clearCurrentUser() {
this.atxvName.setText("");
this.lstAdapter.clear();
this.enableControls(false);
this.btnLogout.setVisibility(View.INVISIBLE);
this.txtCredit.setText(getResources().getString(R.string.credit, 0.0));
this.txtSum.setText(getResources().getString(R.string.total, 0.0));
this.currentUser = null;
}
private void enableControls(boolean enable) {
this.atxvName.setEnabled(!enable);
this.btnRefresh.setEnabled(!enable);
this.btnCharge.setEnabled(enable);
this.btnPay.setEnabled(enable);
this.btnLogout.setEnabled(enable);
}
private double getTotal() {
double ret=0.0;
for (int i=0;i<this.lstAdapter.getCount();i++) {
ret += this.lstAdapter.getItem(i).getValue();
}
return ret;
}
private void refreshTotalTextView() {
this.txtSum.setText(getResources().getString(R.string.total,this.getTotal()));
}
public void refreshCreditTextView() {
this.txtCredit.setText(getResources().getString(R.string.credit,this.currentUser.getCredit()));
} }
public void removeOrderOnClickHandler(View v) { public void removeOrderOnClickHandler(View v) {
Order itemToRemove = (Order) v.getTag(); MainManager.getInstance().removeOrder((Order) v.getTag());
this.lstAdapter.remove(itemToRemove);
refreshTotalTextView();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnOneEuro:
this.lstAdapter.insert(new Order(1.0), this.lstAdapter.getCount());
refreshTotalTextView();
break;
case R.id.btnFiftyCent:
this.lstAdapter.insert(new Order(0.5), this.lstAdapter.getCount());
refreshTotalTextView();
break;
case R.id.btnCharge:
new ChargeDialog(this).show();
break;
case R.id.btnPay:
double total = this.getTotal();
if (total > 0.0){
if (this.currentUser.getCredit()>=total){
new AlertDialog.Builder(this)
.setTitle(getResources().getString(R.string.confirm_payment_title))
.setMessage(getResources().getString(R.string.confirm_payment, total))
.setPositiveButton(android.R.string.yes, this)
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
} else {
Toast.makeText(this,getResources().getString(R.string.please_charge),Toast.LENGTH_LONG).show();
}
}
break;
case R.id.btnLogout:
clearCurrentUser();
break;
case R.id.btnAddUser:
new NewUserDialog(this).show();
break;
case R.id.btnRefresh:
DataApi.getInstance().refreshUserData();
Toast.makeText(this,"Refresh successful" ,Toast.LENGTH_LONG).show();
break;
}
} }
/*
@Override @Override
public boolean onKey(View v, int keyCode, KeyEvent event) { public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if(this.atxvAdapter.getCount() == 1) { if(this.atxvAdapter.getCount() == 1) {
setCurrentUser(DataApi.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(0)).getUserid())); setCurrentUser(DatabaseManager.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(0)).getUserid()));
this.atxvName.setText(this.atxvAdapter.getItem(0).toString()); this.atxvName.setText(this.atxvAdapter.getItem(0).toString());
this.atxvName.dismissDropDown(); this.atxvName.dismissDropDown();
} }
...@@ -215,7 +90,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe ...@@ -215,7 +90,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
@Override @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
setCurrentUser(DataApi.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(position)).getUserid())); setCurrentUser(DatabaseManager.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(position)).getUserid()));
} }
@Override @Override
...@@ -225,19 +100,6 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe ...@@ -225,19 +100,6 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
RestClient.getInstance().saveUserCredit(this.currentUser); RestClient.getInstance().saveUserCredit(this.currentUser);
this.clearCurrentUser(); 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;
}
*/
} }
...@@ -4,6 +4,8 @@ import android.util.Log; ...@@ -4,6 +4,8 @@ import android.util.Log;
import com.activeandroid.ActiveAndroid; import com.activeandroid.ActiveAndroid;
import ms.itsecteam.warpdrink.manager.MainManager;
/** /**
* Created by Chris on 26.06.2015. * Created by Chris on 26.06.2015.
*/ */
......
...@@ -41,7 +41,7 @@ public class Setting extends Model { ...@@ -41,7 +41,7 @@ public class Setting extends Model {
.executeSingle(); .executeSingle();
if(setting != null) if(setting != null)
return setting.getValue(); return setting.getValue();
return ""; return null;
} }
public void setKey(String key) { public void setKey(String key) {
...@@ -63,6 +63,7 @@ public class Setting extends Model { ...@@ -63,6 +63,7 @@ public class Setting extends Model {
} else { } else {
setting = new Setting(key, value); setting = new Setting(key, value);
} }
setting.save();
} }
public static void deleteAll() { public static void deleteAll() {
......
package ms.itsecteam.warpdrink.data.rest; package ms.itsecteam.warpdrink.data.rest;
import android.util.Log; import android.util.Log;
import android.widget.Toast;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -33,7 +34,6 @@ public class RestClient { ...@@ -33,7 +34,6 @@ public class RestClient {
public User getUser(int userid) { public User getUser(int userid) {
try { try {
User u = (User) new RequestSingleObject<User>().initTask("user/"+userid,User.class).execute().get(); User u = (User) new RequestSingleObject<User>().initTask("user/"+userid,User.class).execute().get();
Log.d("TV",u.getName());
return u; return u;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -43,6 +43,10 @@ public class RestClient { ...@@ -43,6 +43,10 @@ public class RestClient {
public List<User> getAllUser() { public List<User> getAllUser() {
try { try {
String response = new HttpGetRequest().initTask("user/all").execute().get(); String response = new HttpGetRequest().initTask("user/all").execute().get();
if(response == null) {
this.handleError();
return null;
}
return Arrays.asList(new Gson().fromJson(response, User[].class)); return Arrays.asList(new Gson().fromJson(response, User[].class));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -72,5 +76,9 @@ public class RestClient { ...@@ -72,5 +76,9 @@ public class RestClient {
} }
return false; return false;
} }
private void handleError() {
Toast.makeText(null,"Netzwerkfehler",Toast.LENGTH_LONG);
}
} }
package ms.itsecteam.warpdrink.data.rest.http; package ms.itsecteam.warpdrink.data.rest.http;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.util.Log;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient; import org.apache.http.client.HttpClient;
...@@ -11,11 +10,14 @@ import org.apache.http.impl.client.DefaultHttpClient; ...@@ -11,11 +10,14 @@ import org.apache.http.impl.client.DefaultHttpClient;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import ms.itsecteam.warpdrink.manager.DatabaseManager;
// this.url = "http://10.0.2.2:8080/warpdrink/rest/";
public class HttpGetRequest extends AsyncTask<Void, Void, String> { public class HttpGetRequest extends AsyncTask<Void, Void, String> {
String url; String url;
public HttpGetRequest initTask(String url) { public HttpGetRequest initTask(String url) {
this.url = "http://10.0.2.2:8080/warpdrink/rest/"; this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
this.url += url;
return this; return this;
} }
@Override @Override
...@@ -34,9 +36,7 @@ public class HttpGetRequest extends AsyncTask<Void, Void, String> { ...@@ -34,9 +36,7 @@ public class HttpGetRequest extends AsyncTask<Void, Void, String> {
} }
return responsestr; return responsestr;
} catch (Exception e) { } catch (Exception e) {
Log.e("MainActivity", e.getMessage(), e);
} }
return null; return null;
} }
} }
package ms.itsecteam.warpdrink.data.rest.http; package ms.itsecteam.warpdrink.data.rest.http;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.util.Log;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair; import org.apache.http.NameValuePair;
...@@ -14,12 +13,13 @@ import java.io.BufferedReader; ...@@ -14,12 +13,13 @@ import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.List; import java.util.List;
import ms.itsecteam.warpdrink.manager.DatabaseManager;
public class HttpPostRequest extends AsyncTask<Void, Void, String> { public class HttpPostRequest extends AsyncTask<Void, Void, String> {
String url; String url;
List<NameValuePair> postParams; List<NameValuePair> postParams;
public HttpPostRequest initTask(String url, List<NameValuePair> postParams) { public HttpPostRequest initTask(String url, List<NameValuePair> postParams) {
this.url = "http://10.0.2.2:8080/warpdrink/rest/"; this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
this.url += url;
this.postParams =postParams; this.postParams =postParams;
return this; return this;
} }
...@@ -41,7 +41,6 @@ public class HttpPostRequest extends AsyncTask<Void, Void, String> { ...@@ -41,7 +41,6 @@ public class HttpPostRequest extends AsyncTask<Void, Void, String> {
} }
return responsestr; return responsestr;
} catch (Exception e) { } catch (Exception e) {
Log.e("MainActivity", e.getMessage(), e);
} }
return null; return null;
} }
......
package ms.itsecteam.warpdrink.data.rest.http; package ms.itsecteam.warpdrink.data.rest.http;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.util.Log;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair; import org.apache.http.NameValuePair;
...@@ -14,13 +13,14 @@ import java.io.BufferedReader; ...@@ -14,13 +13,14 @@ import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.List; import java.util.List;
import ms.itsecteam.warpdrink.manager.DatabaseManager;
public class HttpPutRequest extends AsyncTask<Void, Void, String> { public class HttpPutRequest extends AsyncTask<Void, Void, String> {
String url; String url;
List<NameValuePair> postParams; List<NameValuePair> postParams;
public HttpPutRequest initTask(String url, List<NameValuePair> postParams) { public HttpPutRequest initTask(String url, List<NameValuePair> postParams) {
this.url = "http://10.0.2.2:8080/warpdrink/rest/"; this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
this.url += url; this.postParams = postParams;
this.postParams =postParams;
return this; return this;
} }
@Override @Override
...@@ -41,7 +41,7 @@ public class HttpPutRequest extends AsyncTask<Void, Void, String> { ...@@ -41,7 +41,7 @@ public class HttpPutRequest extends AsyncTask<Void, Void, String> {
} }
return responsestr; return responsestr;
} catch (Exception e) { } catch (Exception e) {
Log.e("MainActivity", e.getMessage(), e);
} }
return null; return null;
} }
......
...@@ -11,6 +11,7 @@ import ms.itsecteam.warpdrink.MainActivity; ...@@ -11,6 +11,7 @@ import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R; import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.objects.User; import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.data.rest.RestClient; import ms.itsecteam.warpdrink.data.rest.RestClient;
import ms.itsecteam.warpdrink.manager.MainManager;
public class ChargeCustomDialog extends Dialog implements public class ChargeCustomDialog extends Dialog implements
View.OnClickListener { View.OnClickListener {
...@@ -50,13 +51,8 @@ public class ChargeCustomDialog extends Dialog implements ...@@ -50,13 +51,8 @@ public class ChargeCustomDialog extends Dialog implements
default: default:
break; break;
} }
if(amount > 0.0) { if(amount > 0.0)
User u = this.c.getCurrentUser(); MainManager.getInstance().chargeAmount(amount);
u.setCredit(u.getCredit()+amount);
u.save();
RestClient.getInstance().saveUserCredit(u);
}
this.c.refreshCreditTextView();
dismiss(); dismiss();
} }
} }
...@@ -10,6 +10,7 @@ import ms.itsecteam.warpdrink.MainActivity; ...@@ -10,6 +10,7 @@ import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R; import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.objects.User; import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.data.rest.RestClient; import ms.itsecteam.warpdrink.data.rest.RestClient;
import ms.itsecteam.warpdrink.manager.MainManager;
public class ChargeDialog extends Dialog implements public class ChargeDialog extends Dialog implements
android.view.View.OnClickListener { android.view.View.OnClickListener {
...@@ -18,9 +19,10 @@ public class ChargeDialog extends Dialog implements ...@@ -18,9 +19,10 @@ public class ChargeDialog extends Dialog implements
public Dialog d; public Dialog d;
public Button btnFiveEuro, btnTenEuro, btnTwentyEuro,btnOther; public Button btnFiveEuro, btnTenEuro, btnTwentyEuro,btnOther;
public ChargeDialog(MainActivity a) { public ChargeDialog() {
super(a); super(MainManager.getInstance().getMainActivity());
this.c = a; this.c = MainManager.getInstance().getMainActivity();
;
} }
@Override @Override
...@@ -59,13 +61,8 @@ public class ChargeDialog extends Dialog implements ...@@ -59,13 +61,8 @@ public class ChargeDialog extends Dialog implements
default: default:
break; break;
} }
if(amount > 0.0) { if(amount > 0.0)
User u = this.c.getCurrentUser(); MainManager.getInstance().chargeAmount(amount);
u.setCredit(u.getCredit()+amount);
u.save();
RestClient.getInstance().saveUserCredit(u);
}
this.c.refreshCreditTextView();
dismiss(); dismiss();
} }
} }
...@@ -10,19 +10,18 @@ import android.widget.Toast; ...@@ -10,19 +10,18 @@ import android.widget.Toast;
import ms.itsecteam.warpdrink.MainActivity; import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R; import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.DataApi; import ms.itsecteam.warpdrink.manager.DatabaseManager;
import ms.itsecteam.warpdrink.data.rest.RestClient; import ms.itsecteam.warpdrink.manager.MainManager;
public class NewUserDialog extends Dialog implements public class NewUserDialog extends Dialog implements
View.OnClickListener { View.OnClickListener {
public MainActivity c; public MainActivity c;
public Dialog d;
public Button btnAddUser; public Button btnAddUser;
public TextView txtUsername; public TextView txtUsername;
public NewUserDialog(MainActivity a) { public NewUserDialog() {
super(a); super(MainManager.getInstance().getMainActivity());
this.c = a; this.c = MainManager.getInstance().getMainActivity();
} }
@Override @Override
...@@ -43,7 +42,7 @@ public class NewUserDialog extends Dialog implements ...@@ -43,7 +42,7 @@ public class NewUserDialog extends Dialog implements
case R.id.btnAddUser: case R.id.btnAddUser:
String username = this.txtUsername.getText().toString(); String username = this.txtUsername.getText().toString();
if (!username.equals("")) { if (!username.equals("")) {
if(!DataApi.getInstance().addUser(username)) { if(!MainManager.getInstance().addUser(username)) {
Toast.makeText(v.getContext(),"Username ist schon vorhanden",Toast.LENGTH_LONG).show(); Toast.makeText(v.getContext(),"Username ist schon vorhanden",Toast.LENGTH_LONG).show();
} else { } else {
Toast.makeText(v.getContext(),"User angelegt",Toast.LENGTH_LONG).show(); Toast.makeText(v.getContext(),"User angelegt",Toast.LENGTH_LONG).show();
......
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 ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.manager.DatabaseManager;
public class SettingsDialog extends Dialog implements
View.OnClickListener {
public MainActivity c;
public Button btnSave, btnAbort;
TextView txtApiUrl;
public SettingsDialog(MainActivity a) {
super(a);
this.c = a;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.settings_dialog);
this.btnSave = (Button) findViewById(R.id.btnSave);
this.btnSave.setOnClickListener(this);
this.btnAbort = (Button) findViewById(R.id.btnAbort);
this.btnAbort.setOnClickListener(this);
this.txtApiUrl = (TextView) findViewById(R.id.txtApiUrl);
this.txtApiUrl.setText(DatabaseManager.getInstance().getSetting("api_url"));
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnSave:
DatabaseManager.getInstance().saveSetting("api_url",txtApiUrl.getText().toString());
this.dismiss();
break;
case R.id.btnAbort:
this.dismiss();
default:
break;
}
}
}
package ms.itsecteam.warpdrink.manager;
import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.data.rest.RestClient;
public class DataManager {
private User currentUser;
private double totalAmount;
private static DataManager ourInstance = new DataManager();
protected static DataManager getInstance() {
return ourInstance;
}
private DataManager() {
}
public void saveCurrentUser() {
this.currentUser.save();
RestClient.getInstance().saveUserCredit(this.currentUser);
}
public void performPayment() {
this.currentUser.setCredit(this.currentUser.getCredit()-this.totalAmount);
this.saveCurrentUser();
this.totalAmount = 0.0;
}
public void clearCurrentUser() {
}
public User getCurrentUser() {
return currentUser;
}
public void setCurrentUser(User currentUser) {
this.currentUser = currentUser;
}
public double getTotalAmount() {
return totalAmount;
}
public void addToTotalAmount(double value) {
this.totalAmount += value;
}
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
}
package ms.itsecteam.warpdrink.data; package ms.itsecteam.warpdrink.manager;
import android.util.Log; import android.util.Log;
import java.util.Arrays; import java.util.Arrays;
...@@ -6,57 +6,54 @@ import java.util.List; ...@@ -6,57 +6,54 @@ import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import ms.itsecteam.warpdrink.MainActivity; import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.data.objects.Setting;
import ms.itsecteam.warpdrink.data.objects.User; import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.data.rest.RestClient; import ms.itsecteam.warpdrink.data.rest.RestClient;
public class DataApi { public class DatabaseManager {
private static DataApi instance; private static DatabaseManager instance;
private MainActivity mainActivity; private DatabaseManager() {}
private DataApi () {}
public static DataApi getInstance () { public static DatabaseManager getInstance () {
if (DataApi.instance == null) { if (DatabaseManager.instance == null)
DataApi.instance = new DataApi(); DatabaseManager.instance = new DatabaseManager();
} return DatabaseManager.instance;
return DataApi.instance;
}
public MainActivity getMainActivity() {
return mainActivity;
} }
public void setMainActivity(MainActivity mainActivity) { public User getUserByName(String name) {
this.mainActivity = mainActivity; return User.getByName(name);
} }
public void refreshUserData(List<User> u) {
public boolean addUser(String name) { User.deleteAll();
if(User.getByName(name) == null) {
User u = new User();
u.setName(name);
RestClient.getInstance().createUser(u);
//u.save();
refreshUserData();
return true;
}
return false;
}
public void refreshUserData() {
List<User> u = RestClient.getInstance().getAllUser();
if(u == null) if(u == null)
return; return;
User.deleteAll();
ListIterator<User> ui = u.listIterator(); ListIterator<User> ui = u.listIterator();
while(ui.hasNext()) { while(ui.hasNext()) {
ui.next().save(); ui.next().save();
} }
Log.d("App", Arrays.toString(u.toArray())); Log.d("App", Arrays.toString(u.toArray()));
mainActivity.refreshUsers();
} }
public void saveSetting(String key, String value) {
Setting.setSetting(key, value);
}
public String getSetting(String key) {
return this.getSetting(key, "");
}
public String getSetting(String key, String defaultValue) {
String value = Setting.getSetting(key);
if(value == null) {
return defaultValue;
}
return value;
}
public User remoteGetUser(int userid) { public User remoteGetUser(int userid) {
return RestClient.getInstance().getUser(userid); return RestClient.getInstance().getUser(userid);
} }
} }
package ms.itsecteam.warpdrink.manager;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.util.Log;
import android.widget.Toast;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.data.rest.RestClient;
import ms.itsecteam.warpdrink.orderList.Order;
public class MainManager {
private MainActivity mainActivity;
private DatabaseManager databaseManager;
private UiManager uiManager;
private DataManager dataManager;
private static MainManager ourInstance = new MainManager();
public static MainManager getInstance() {
return ourInstance;
}
private MainManager() {
this.databaseManager = DatabaseManager.getInstance();
this.uiManager = UiManager.getInstance();
this.dataManager = DataManager.getInstance();
}
public void init(MainActivity mainActivity) {
this.mainActivity = mainActivity;
this.uiManager.initUi(this.mainActivity);
this.refreshUserData();
}
public void refreshUserData() {
List<User> userList = RestClient.getInstance().getAllUser();
this.databaseManager.refreshUserData(userList);
if(userList != null) {
this.uiManager.refreshUserData(userList);
}
}
public boolean addUser(String name) {
if(this.databaseManager.getUserByName(name) == null) {
User u = new User();
u.setName(name);
RestClient.getInstance().createUser(u);
this.refreshUserData();
return true;
}
return false;
}
public void setCurrentUser(User user) {
if (user != null) {
this.dataManager.setCurrentUser(user);
this.uiManager.setCurrentUser(user);
}
}
public void clearCurrentUser() {
this.dataManager.clearCurrentUser();
this.uiManager.clearCurrentUser();
}
public void addOrder(double amount) {
DataManager.getInstance().addToTotalAmount(amount);
this.uiManager.refreshTotalTextView(DataManager.getInstance().getTotalAmount());
}
public void removeOrder(Order order) {
DataManager.getInstance().addToTotalAmount((-1)*order.getValue());
this.uiManager.removeOrder(order);
this.uiManager.refreshTotalTextView(DataManager.getInstance().getTotalAmount());
}
public void chargeAmount(double amount) {
User user = this.dataManager.getCurrentUser();
user.setCredit(user.getCredit()+amount);
user.save();
RestClient.getInstance().saveUserCredit(user);
this.uiManager.refreshCreditTextView(user.getCredit());
}
public void performPayment() {
User user = DataManager.getInstance().getCurrentUser();
double totalAmount = DataManager.getInstance().getTotalAmount();
if (totalAmount > 0.0 && user != null){
if (DataManager.getInstance().getCurrentUser().getCredit()>=totalAmount){
new AlertDialog.Builder(mainActivity)
.setTitle(mainActivity.getResources().getString(R.string.confirm_payment_title))
.setMessage(mainActivity.getResources().getString(R.string.confirm_payment, totalAmount))
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
DataManager.getInstance().performPayment();
MainManager.getInstance().clearCurrentUser();
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
} else {
Toast.makeText(mainActivity, mainActivity.getResources().getString(R.string.please_charge), Toast.LENGTH_LONG).show();
}
}
}
public MainActivity getMainActivity() {
return mainActivity;
}
public void setMainActivity(MainActivity mainActivity) {
this.mainActivity = mainActivity;
}
}
package ms.itsecteam.warpdrink.manager;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.dialogs.ChargeDialog;
import ms.itsecteam.warpdrink.dialogs.NewUserDialog;
import ms.itsecteam.warpdrink.dialogs.SettingsDialog;
import ms.itsecteam.warpdrink.orderList.ListViewAdapter;
import ms.itsecteam.warpdrink.orderList.Order;
/**
* Created by chris on 29.06.2015.
*/
public class UiManager implements View.OnKeyListener, View.OnClickListener, AdapterView.OnItemClickListener {
private MainActivity mainActivity;
private Button btnPay, btnCharge, btnLogout;
private ImageButton btnRefresh;
private TextView txtSum,txtCredit;
private ListView lstOrdered;
private AutoCompleteTextView atxvName;
private ListViewAdapter lstAdapter;
private ArrayAdapter atxvAdapter;
private ArrayList<Double> order;
private List<User> users;
private static UiManager ourInstance = new UiManager();
public static UiManager getInstance() {
return ourInstance;
}
private UiManager() {}
protected void initUi(MainActivity mainActivity) {
this.txtSum = (TextView) mainActivity.findViewById(R.id.txtSum);
this.txtCredit = (TextView)mainActivity.findViewById(R.id.txtCredit);
this.txtCredit.setText(mainActivity.getResources().getString(R.string.credit,0.0));
this.txtSum.setText(mainActivity.getResources().getString(R.string.total,0.0));
this.btnLogout = (Button) mainActivity.findViewById(R.id.btnLogout);
this.btnRefresh = (ImageButton) mainActivity.findViewById(R.id.btnRefresh);
this.btnPay = (Button) mainActivity.findViewById(R.id.btnPay);
this.btnCharge = (Button) mainActivity.findViewById(R.id.btnCharge);
this.lstAdapter = new ListViewAdapter(mainActivity, R.layout.order_list_item, new ArrayList<Order>());
this.lstOrdered = (ListView) mainActivity.findViewById(R.id.lstOrdered);
this.lstOrdered.setAdapter(this.lstAdapter);
this.users = User.getAll();
this.atxvAdapter = new ArrayAdapter(mainActivity, android.R.layout.select_dialog_item, this.users);
this.atxvName = (AutoCompleteTextView) mainActivity.findViewById(R.id.atxvName);
this.atxvName.setAdapter(atxvAdapter);
this.atxvName.setThreshold(1);
this.atxvName.setOnKeyListener(this);
this.atxvName.setOnItemClickListener(this);
this.btnLogout.setVisibility(View.INVISIBLE);
this.enableControls(false);
this.mainActivity = mainActivity;
}
protected void refreshTotalTextView(double totalAmount) {
this.txtSum.setText(this.mainActivity.getResources().getString(R.string.total,totalAmount));
}
protected void refreshCreditTextView(double credit) {
this.txtCredit.setText(this.mainActivity.getResources().getString(R.string.credit, credit));
}
protected void setCurrentUser(User user) {
this.enableControls(true);
this.atxvName.dismissDropDown();
this.btnLogout.setVisibility(View.VISIBLE);
this.refreshCreditTextView(user.getCredit());
}
protected void clearCurrentUser() {
this.atxvName.setText("");
this.lstAdapter.clear();
this.enableControls(false);
this.btnLogout.setVisibility(View.INVISIBLE);
this.refreshCreditTextView(0.0);
this.refreshTotalTextView(0.0);
}
private void enableControls(boolean enable) {
this.atxvName.setEnabled(!enable);
this.btnRefresh.setEnabled(!enable);
this.btnCharge.setEnabled(enable);
this.btnPay.setEnabled(enable);
this.btnLogout.setEnabled(enable);
}
protected void refreshUserData(List<User> userList) {
this.atxvAdapter.clear();
ListIterator<User> userListIterator = userList.listIterator();
while(userListIterator.hasNext()) {
this.atxvAdapter.add(userListIterator.next());
}
}
protected void removeOrder(Order order) {
this.lstAdapter.remove(order);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnOneEuro:
this.lstAdapter.insert(new Order(1.0), this.lstAdapter.getCount());
MainManager.getInstance().addOrder(1.0);
break;
case R.id.btnFiftyCent:
this.lstAdapter.insert(new Order(0.5), this.lstAdapter.getCount());
MainManager.getInstance().addOrder(0.5);
break;
case R.id.btnCharge:
new ChargeDialog().show();
break;
case R.id.btnPay:
MainManager.getInstance().performPayment();
break;
case R.id.btnLogout:
MainManager.getInstance().clearCurrentUser();
break;
case R.id.btnAddUser:
new NewUserDialog().show();
break;
case R.id.btnRefresh:
MainManager.getInstance().refreshUserData();
Toast.makeText(this.mainActivity, "Refresh successful", Toast.LENGTH_LONG).show();
break;
}
}
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if(this.atxvAdapter.getCount() == 1) {
MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(0));
this.atxvName.setText(this.atxvAdapter.getItem(0).toString());
this.atxvName.dismissDropDown();
}
return true;
}
return false;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(position));
}
}
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
<ListView <ListView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="291dp" android:layout_height="255dp"
android:id="@+id/lstOrdered" android:id="@+id/lstOrdered"
android:layout_row="2" android:layout_row="2"
android:layout_column="12" android:layout_column="12"
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
<Space <Space
android:layout_width="20px" android:layout_width="20px"
android:layout_height="50px" /> android:layout_height="25px" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/abc_input_method_navigation_guard">
<TextView
android:text="@string/rest_config_header"
android:padding="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="2"
android:textColor="@android:color/white" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="@string/rest_service"
android:padding="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtApiUrl" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text=""
android:padding="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText3" />
</TableRow>
<TableRow>
<Space
android:layout_width="20px"
android:layout_height="20px" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save"
android:id="@+id/btnSave" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/abort"
android:id="@+id/btnAbort" />
</LinearLayout>
</TableRow>
</TableLayout>
\ No newline at end of file
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
<string name="credit">Guthaben: %1$,.2f Euro</string> <string name="credit">Guthaben: %1$,.2f Euro</string>
<string name="total">Gesamt: %1$,.2f Euro</string> <string name="total">Gesamt: %1$,.2f Euro</string>
<string name="addNewUser">Benutzer hinzufügen</string> <string name="addNewUser">Benutzer hinzufügen</string>
<string name="rest_service">RESTAPI-URL</string>
<string name="rest_config_header">REST-API Konfiguration</string>
<string name="save">Speichern</string>
<string name="abort">Abbrechen</string>
<style name="ButtonText"> <style name="ButtonText">
<item name="android:layout_width">fill_parent</item> <item name="android:layout_width">fill_parent</item>
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment