diff --git a/WarpDrinkApp/.idea/inspectionProfiles/Project_Default.xml b/WarpDrinkApp/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000000000000000000000000000000000..d5b2209cc9dfc4574e3cf852debc7ca0b30601c4 --- /dev/null +++ b/WarpDrinkApp/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ +<component name="InspectionProjectProfileManager"> + <profile version="1.0"> + <option name="myName" value="Project Default" /> + <inspection_tool class="AndroidLintRtlHardcoded" enabled="false" level="WARNING" 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" /> + </inspection_tool> + </profile> +</component> \ No newline at end of file diff --git a/WarpDrinkApp/.idea/inspectionProfiles/profiles_settings.xml b/WarpDrinkApp/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b312839bf2e939fea3ebdef15630a4b33e57caf --- /dev/null +++ b/WarpDrinkApp/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ +<component name="InspectionProjectProfileManager"> + <settings> + <option name="PROJECT_PROFILE" value="Project Default" /> + <option name="USE_PROJECT_PROFILE" value="true" /> + <version value="1.0" /> + </settings> +</component> \ No newline at end of file diff --git a/WarpDrinkApp/app/app.iml b/WarpDrinkApp/app/app.iml index 96e0f1d40326d10448d188cd8e4dc17638cefbd1..b0473603f73a863d148d76ea12d2a1e9edf799ab 100644 --- a/WarpDrinkApp/app/app.iml +++ b/WarpDrinkApp/app/app.iml @@ -94,8 +94,8 @@ <orderEntry type="library" exported="" name="jackson-annotations-2.0.1" level="project" /> <orderEntry type="library" exported="" name="okhttp-2.7.5" level="project" /> <orderEntry type="library" exported="" name="spring-android-rest-template-1.0.1.RELEASE" level="project" /> - <orderEntry type="library" exported="" name="gson-2.7" level="project" /> <orderEntry type="library" exported="" name="antlr4-runtime-4.5.3" level="project" /> + <orderEntry type="library" exported="" name="gson-2.7" level="project" /> <orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" /> <orderEntry type="library" exported="" name="spring-android-core-1.0.1.RELEASE" level="project" /> <orderEntry type="library" exported="" name="codepath-utils" level="project" /> diff --git a/WarpDrinkApp/app/src/main/AndroidManifest.xml b/WarpDrinkApp/app/src/main/AndroidManifest.xml index 99c6900a0163c35640748cdfb514ffc3a5d56adb..d48f3052ef5b9808b0aaf6c9bf66828ab0542a0d 100644 --- a/WarpDrinkApp/app/src/main/AndroidManifest.xml +++ b/WarpDrinkApp/app/src/main/AndroidManifest.xml @@ -17,7 +17,7 @@ <meta-data android:name="AA_DB_NAME" android:value="warpdrink_data.db" /> - <meta-data android:name="AA_DB_VERSION" android:value="5" /> + <meta-data android:name="AA_DB_VERSION" android:value="6" /> <meta-data android:name="AA_MODELS" android:value="ms.itsecteam.warpdrink.data.objects.User" /> diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/RestService.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/RestService.java index 9a960e846fd5afb96ce9df1c88bb05cbb936ea07..835cd08269ebb4c11743e656a9ed4a5780aedff4 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/RestService.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/RestService.java @@ -3,6 +3,7 @@ package ms.itsecteam.warpdrink.data; import java.util.List; +import ms.itsecteam.warpdrink.data.models.rest.RestCategory; import ms.itsecteam.warpdrink.data.models.rest.RestProduct; import ms.itsecteam.warpdrink.data.models.rest.RestTransaction; import ms.itsecteam.warpdrink.data.models.rest.RestUser; @@ -30,6 +31,9 @@ public interface RestService { @GET("products/") Call<List<RestProduct>> getAllProducts(); + @GET("categories/") + Call<List<RestCategory>> getAllCategories(); + @PUT("transaction/{userid}/") Call<Void> saveTransaction(@Path("userid") String uid, @Body RestTransaction transaction); } \ No newline at end of file diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/SQLiteService.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/SQLiteService.java index d6c2445fdf9564e43ff5340e7ba523f1d14c1590..f9d7df5ecaaee604727d6f6e46013cd899594cbd 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/SQLiteService.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/SQLiteService.java @@ -6,9 +6,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import ms.itsecteam.warpdrink.data.models.local.Category; import ms.itsecteam.warpdrink.data.models.local.Product; import ms.itsecteam.warpdrink.data.models.local.Setting; import ms.itsecteam.warpdrink.data.models.local.User; +import ms.itsecteam.warpdrink.data.models.rest.RestCategory; import ms.itsecteam.warpdrink.data.models.rest.RestProduct; import ms.itsecteam.warpdrink.data.models.rest.RestUser; @@ -52,6 +54,18 @@ public class SQLiteService { return ret_val; } + public List<Category> refreshCategoryData(List<RestCategory> c) { + Category.deleteAll(); + List<Category> ret_val = new ArrayList<>(); + for (RestCategory category : c) { + Category cat = category.toLocalCategory(); + cat.save(); + ret_val.add(cat); + } + Log.d("App", Arrays.toString(c.toArray())); + return ret_val; + } + public List<Product> refreshProductData(List<RestProduct> body) { Product.deleteAll(); List<Product> ret_val = new ArrayList<>(); diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Category.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Category.java new file mode 100644 index 0000000000000000000000000000000000000000..a710b71ae4da95b985bb6a62c638d6148367b6b0 --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Category.java @@ -0,0 +1,59 @@ +package ms.itsecteam.warpdrink.data.models.local; + +import com.activeandroid.Model; +import com.activeandroid.annotation.Column; +import com.activeandroid.annotation.Table; +import com.activeandroid.query.Delete; +import com.activeandroid.query.Select; + +import java.util.List; + +@Table(name = "Category") +public class Category extends Model { + + @Column(name = "cid") + private int cid; + + @Column(name = "name") + private String name; + + public Category() { + super(); + } + + public Category(int cid, String name) { + this.cid = cid; + this.name = name; + } + + public int getCid() { + return cid; + } + + public void setCid(int pid) { + this.cid = cid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public static List<Category> getAll() { + return new Select() + .from(Category.class) + .execute(); + } + + public static void deleteAll() { + new Delete().from(Category.class).execute(); + } + + public String toString() { + return this.name; + } + +} diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Product.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Product.java index 8b1b5d3ae61ec580a114513a9bf6b06f6c6a9e36..5c1b22b44bff6bb51aed43fa54df8b6f22df507e 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Product.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/local/Product.java @@ -1,5 +1,7 @@ package ms.itsecteam.warpdrink.data.models.local; +import android.util.Log; + import com.activeandroid.Model; import com.activeandroid.annotation.Column; import com.activeandroid.annotation.Table; @@ -89,7 +91,21 @@ public class Product extends Model { } public String toString() { - return this.name; + return this.name + " " + this.category; } + public static List<Product> getByCategory(String category) { + Log.d("APP", category); + return new Select() + .from(Product.class) + .where("category = ?", category) + .execute(); + } + + public static Product getOneByName(String product_name) { + return new Select() + .from(Product.class) + .where("name = ?", product_name) + .executeSingle(); + } } diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/rest/RestCategory.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/rest/RestCategory.java new file mode 100644 index 0000000000000000000000000000000000000000..04e7c4b596a29f4a746ee7a48545817ce4771c85 --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/models/rest/RestCategory.java @@ -0,0 +1,48 @@ +package ms.itsecteam.warpdrink.data.models.rest; + +import ms.itsecteam.warpdrink.data.models.local.Category; +public class RestCategory { + + + private int id; + private String name; + + public RestCategory() { + super(); + } + + public RestCategory(int id, String name) { + this.id = id; + this.name = name; + } + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Category toLocalCategory() { + Category c = new Category(); + c.setCid(this.id); + c.setName(this.name); + return c; + } + + public static RestCategory fromLocalrestCategory(Category category) { + RestCategory restCategory = new RestCategory(); + restCategory.setId(category.getCid()); + restCategory.setName(category.getName()); + return restCategory; + } +} diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ProductDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ProductDialog.java new file mode 100644 index 0000000000000000000000000000000000000000..47a2dcd435f7e76974ba51b81f36273aee5995ef --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ProductDialog.java @@ -0,0 +1,71 @@ +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.GridLayout; + +import java.util.List; + +import ms.itsecteam.warpdrink.MainActivity; +import ms.itsecteam.warpdrink.R; +import ms.itsecteam.warpdrink.data.models.local.Product; +import ms.itsecteam.warpdrink.manager.MainManager; +import ms.itsecteam.warpdrink.manager.UiManager; +import ms.itsecteam.warpdrink.orderList.Order; + +public class ProductDialog extends Dialog implements View.OnClickListener { + private MainActivity c; + public Dialog d; + public GridLayout gridProducts; + private String category; + public ProductDialog(String category) { + super(MainManager.getInstance().getMainActivity()); + c = MainManager.getInstance().getMainActivity(); + this.category = category; + + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + setContentView(R.layout.product_dialog); + + this.gridProducts = (GridLayout) findViewById(R.id.gridProductDialog); + this.gridProducts.setMinimumWidth(300); + this.gridProducts.setMinimumHeight(200); + this.gridProducts.removeAllViews(); + List<Product> products= Product.getByCategory(this.category); + for (Product p: products) { + Button prodButton = new Button(this.c.getApplicationContext()); + prodButton.setHeight(200); + prodButton.setWidth(200); + prodButton.setText(p.getName()); + prodButton.setOnClickListener(this); + this.gridProducts.addView(prodButton); + } + for (int i=products.size();i<15;i++) { + Button btn = new Button(this.c.getApplicationContext()); + btn.setHeight(200); + btn.setWidth(200); + btn.setText(""); + btn.setEnabled(false); + this.gridProducts.addView(btn); + } + } + + + @Override + public void onClick(View view) { + Button clicked = (Button) view; + String product_name = (String) clicked.getText(); + Product product = Product.getOneByName(product_name); + Order order = new Order(product); + UiManager.getInstance().addOrder(order); + MainManager.getInstance().addOrder(order); + dismiss(); + } +} diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/listener/CategoryOnClickListener.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/listener/CategoryOnClickListener.java new file mode 100644 index 0000000000000000000000000000000000000000..a72fc16a92a4919248dc549f62a279252482c4ec --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/listener/CategoryOnClickListener.java @@ -0,0 +1,18 @@ +package ms.itsecteam.warpdrink.listener; +import android.util.Log; +import android.view.View; +import android.widget.Button; + +import ms.itsecteam.warpdrink.dialogs.ProductDialog; +import ms.itsecteam.warpdrink.manager.UiManager; + +public class CategoryOnClickListener implements View.OnClickListener { + + + @Override + public void onClick(View view) { + Button clicked = (Button) view; + String category = (String) clicked.getText(); + new ProductDialog(category).show(); + } +} diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java index f1ba28eb72f7e00eb8fa9de37a740546ea6a2410..aabd249d34e5fa0517d25319037d0b32f99f75dc 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java @@ -3,15 +3,15 @@ package ms.itsecteam.warpdrink.manager; import android.app.AlertDialog; import android.content.DialogInterface; import android.util.Log; -import android.view.WindowManager; import android.widget.Toast; import java.util.List; import ms.itsecteam.warpdrink.MainActivity; import ms.itsecteam.warpdrink.R; import ms.itsecteam.warpdrink.data.SQLiteService; -import ms.itsecteam.warpdrink.data.models.local.Product; +import ms.itsecteam.warpdrink.data.models.local.Category; import ms.itsecteam.warpdrink.data.models.local.User; import ms.itsecteam.warpdrink.data.RestService; +import ms.itsecteam.warpdrink.data.models.rest.RestCategory; import ms.itsecteam.warpdrink.data.models.rest.RestProduct; import ms.itsecteam.warpdrink.data.models.rest.RestTransaction; import ms.itsecteam.warpdrink.data.models.rest.RestUser; @@ -78,6 +78,22 @@ public class MainManager { } }); + this.restService.getAllCategories().enqueue(new Callback<List<RestCategory>>() { + @Override + public void onResponse(Response<List<RestCategory>> response, Retrofit retrofit) { + List<Category> categoryList = MainManager.getInstance().sqLiteService.refreshCategoryData(response.body()); + if (categoryList != null) { + MainManager.getInstance().uiManager.showCategoryButtons(); + } + Toast.makeText(MainManager.getInstance().mainActivity, "Refresh successful", Toast.LENGTH_LONG).show(); + } + + @Override + public void onFailure(Throwable t) { + Log.d("REST", t.getMessage()); + } + }); + this.restService.getAllProducts().enqueue(new Callback<List<RestProduct>>() { @Override public void onResponse(Response<List<RestProduct>> response, Retrofit retrofit) { diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java index f3177ccc612dd51acf5151c313d22247f7160a44..37e7e50eac8ac28c427269d969a456dd261dd558 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java @@ -1,5 +1,8 @@ package ms.itsecteam.warpdrink.manager; +import android.annotation.TargetApi; +import android.os.Build; +import android.text.Editable; import android.util.Log; import android.view.KeyEvent; import android.view.View; @@ -8,6 +11,8 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; +import android.widget.EditText; +import android.widget.GridLayout; import android.widget.ImageButton; import android.widget.ListView; import android.widget.TextView; @@ -17,10 +22,12 @@ import java.util.List; import ms.itsecteam.warpdrink.MainActivity; import ms.itsecteam.warpdrink.R; +import ms.itsecteam.warpdrink.data.models.local.Category; import ms.itsecteam.warpdrink.data.models.local.Product; import ms.itsecteam.warpdrink.data.models.local.User; import ms.itsecteam.warpdrink.dialogs.ChargeDialog; import ms.itsecteam.warpdrink.dialogs.NewUserDialog; +import ms.itsecteam.warpdrink.listener.CategoryOnClickListener; import ms.itsecteam.warpdrink.orderList.ListViewAdapter; import ms.itsecteam.warpdrink.orderList.ListViewAdapterProducts; import ms.itsecteam.warpdrink.orderList.Order; @@ -32,7 +39,8 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap private ImageButton btnRefresh; private TextView txtSum,txtCredit; private ListView lstOrdered; - private ListView lstProduct; + private GridLayout gridProducts; + private EditText txtBarcode; private AutoCompleteTextView atxvName; private ListViewAdapter lstOrderedAdapter; @@ -49,6 +57,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap private UiManager() {} + @TargetApi(Build.VERSION_CODES.LOLLIPOP) protected void initUi(MainActivity mainActivity) { this.txtSum = (TextView) mainActivity.findViewById(R.id.txtSum); this.txtCredit = (TextView)mainActivity.findViewById(R.id.txtCredit); @@ -60,15 +69,15 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.btnPay = (Button) mainActivity.findViewById(R.id.btnPay); this.btnCharge = (Button) mainActivity.findViewById(R.id.btnCharge); + this.txtBarcode = (EditText) mainActivity.findViewById(R.id.txtBarcode); + this.txtBarcode.setShowSoftInputOnFocus(false); + this.txtBarcode.setOnKeyListener(this); this.lstOrderedAdapter = new ListViewAdapter(mainActivity, R.layout.order_list_item, new ArrayList<Order>()); this.lstProductAdapter = new ListViewAdapterProducts(mainActivity, R.layout.product_list_item, Product.getAll()); this.lstOrdered = (ListView) mainActivity.findViewById(R.id.lstOrdered); this.lstOrdered.setAdapter(this.lstOrderedAdapter); - this.lstProduct = (ListView) mainActivity.findViewById(R.id.lstProduct); - this.lstProduct.setAdapter(this.lstProductAdapter); - this.lstProduct.setOnItemClickListener(this); 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); @@ -79,6 +88,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.atxvName.setFocusableInTouchMode(true); this.atxvName.setFocusable(true); + this.gridProducts = (GridLayout) mainActivity.findViewById(R.id.gridProducts); this.btnLogout.setVisibility(View.INVISIBLE); this.enableControls(false); this.mainActivity = mainActivity; @@ -112,12 +122,12 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap } private void enableControls(boolean enable) { + this.txtBarcode.requestFocus(); this.atxvName.setEnabled(!enable); this.btnRefresh.setEnabled(!enable); this.btnCharge.setEnabled(enable); this.btnPay.setEnabled(enable); this.btnLogout.setEnabled(enable); - this.lstProduct.setEnabled(enable); } protected void refreshUserData(List<User> userList) { @@ -137,16 +147,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap @Override public void onClick(View v) { - Log.d("HALLO", Integer.toString(v.getId())); switch (v.getId()) { - /* case R.id.btnOneEuro: - this.lstOrderedAdapter.insert(new Order(1.0), this.lstOrderedAdapter.getCount()); - MainManager.getInstance().addOrder(1.0); - break; - case R.id.btnFiftyCent: - this.lstOrderedAdapter.insert(new Order(0.5), this.lstOrderedAdapter.getCount()); - MainManager.getInstance().addOrder(0.5); - break;*/ case R.id.btnCharge: new ChargeDialog().show(); break; @@ -164,33 +165,57 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap break; } } - + // @ToDo: Key handling für beide Fälle (BarCode und Username) + // @ToDo: Tastatur spinnt noch rum @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(); + Log.d("APP", String.valueOf(v.getId())+" "+R.id.txtUsername); + if(v.getId() == R.id.txtBarcode) { + Log.d("APP", this.txtBarcode.getText().toString()); + } else if (v.getId() == R.id.txtUsername) { + 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 true; } return false; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch (parent.getId()) { - case R.id.lstProduct: - Product p = this.lstProductAdapter.getItem(position); - Order order = new Order(p); - this.lstOrderedAdapter.insert(new Order(p), this.lstOrderedAdapter.getCount()); - MainManager.getInstance().addOrder(order); - break; case -1: MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(position)); break; } } + public void showCategoryButtons() { + List<Category> categoryList = Category.getAll(); + this.gridProducts.removeAllViews(); + for (Category c: categoryList) { + Button catButton = new Button(this.mainActivity.getApplicationContext()); + catButton.setText(c.getName()); + catButton.setHeight(120); + catButton.setWidth(150); + catButton.setOnClickListener(new CategoryOnClickListener()); + this.gridProducts.addView(catButton); + } + for (int i=categoryList.size();i<12;i++) { + Button btn = new Button(this.mainActivity.getApplicationContext()); + btn.setHeight(120); + btn.setWidth(150); + btn.setText(""); + btn.setEnabled(false); + this.gridProducts.addView(btn); + } + } + + public void addOrder(Order order) { + this.lstOrderedAdapter.insert(order, this.lstOrderedAdapter.getCount()); + } } diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/orderList/ListViewAdapter.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/orderList/ListViewAdapter.java index 50053271cb32fa88fa78adb0ef70558d06b45ea1..b379213a4cc9db838edbb7ab9befc0bd5795703c 100644 --- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/orderList/ListViewAdapter.java +++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/orderList/ListViewAdapter.java @@ -36,7 +36,7 @@ public class ListViewAdapter extends ArrayAdapter<Order> { holder = new OrderHolder(); holder.order = items.get(position); - holder.btnRemoveOrder = (ImageButton)row.findViewById(R.id.btnRemoveOrder); + holder.btnRemoveOrder = (ImageButton) row.findViewById(R.id.btnRemoveOrder); holder.btnRemoveOrder.setTag(holder.order); holder.value = (TextView)row.findViewById(R.id.txtOrderValue); diff --git a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml index f35e3a366fecb27488461e21475cc81657841d57..cb7a869a0c3f5d0f9e193a0f89aa8b7894fe03ca 100644 --- a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml +++ b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml @@ -67,13 +67,15 @@ android:layout_column="1" android:layout_row="2" /> - <ListView - android:layout_width="match_parent" - android:layout_height="match_parent" - android:id="@+id/lstProduct" - android:layout_row="2" - android:layout_column="12" - android:choiceMode="singleChoice" /> + <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:layout_gravity="left" + android:columnCount="4" + android:orientation="horizontal" + android:id="@+id/gridProducts" + android:rowCount="3"> + </GridLayout> <Space android:layout_width="20px" @@ -184,6 +186,11 @@ android:onClick="onClick" android:layout_height="wrap_content" /> </LinearLayout> + + <EditText + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/txtBarcode" /> </LinearLayout> </RelativeLayout> diff --git a/WarpDrinkApp/app/src/main/res/layout/product_dialog.xml b/WarpDrinkApp/app/src/main/res/layout/product_dialog.xml new file mode 100644 index 0000000000000000000000000000000000000000..0086c1e446d6db0bdbe432b89a94f0a95732a768 --- /dev/null +++ b/WarpDrinkApp/app/src/main/res/layout/product_dialog.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:layout_height="match_parent"> + + + <GridLayout + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:columnCount="5" + android:id="@+id/gridProductDialog" + android:layout_gravity="left" + android:rowCount="5"> + + </GridLayout> + +</LinearLayout> \ No newline at end of file