Advertisement
Guest User

Untitled

a guest
Oct 16th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.18 KB | None | 0 0
  1. package accountlogin.registrationapp;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5.  
  6. import android.support.annotation.NonNull;
  7. import android.support.annotation.StringDef;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.util.Log;
  10. import android.view.View;
  11. import android.widget.AdapterView;
  12. import android.widget.ArrayAdapter;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15. import android.widget.Spinner;
  16. import android.widget.Toast;
  17.  
  18. import com.google.firebase.auth.FirebaseAuth;
  19. import com.google.firebase.auth.FirebaseUser;
  20. import com.google.firebase.database.DataSnapshot;
  21. import com.google.firebase.database.DatabaseError;
  22. import com.google.firebase.database.DatabaseReference;
  23. import com.google.firebase.database.FirebaseDatabase;
  24. import com.google.firebase.database.ValueEventListener;
  25. import com.google.firebase.storage.StreamDownloadTask;
  26.  
  27. import java.util.ArrayList;
  28. import java.util.HashMap;
  29. import java.util.Iterator;
  30. import java.util.List;
  31. import java.util.ListIterator;
  32.  
  33.  
  34. public class AddInventory extends AppCompatActivity {
  35. static List<String> arrMaxAisles = new ArrayList<>(); //place holder for the Array
  36. static List<String> arrMaxBays = new ArrayList<>();
  37. static int MAXAISLES = 0;
  38. static String DEPTNAMES = "";
  39. static String[] ARR_DEPTNAMES;
  40. static String BAY_NUMBERS="";
  41. static String[] ARR_BAY_NUMBERS;
  42.  
  43. EditText product_name, num_stock, product_id, product_desc;
  44. Spinner dept_spinner, aisle_spinner, bay_spinner, shelf_spinner;
  45. Button add_product_btn, take_image_btn, upload_image_btn;
  46.  
  47.  
  48. //Firebase Variables
  49. private FirebaseDatabase mFirebaseDatabase;
  50. private FirebaseAuth mAuth;
  51. private FirebaseAuth.AuthStateListener mAuthListener;
  52. private DatabaseReference myRef;
  53. private DatabaseReference AisleBayShelfRef;
  54. private DatabaseReference AisleBayRef;
  55. private String userID;
  56.  
  57. @Override
  58. protected void onCreate(Bundle savedInstanceState) {
  59. super.onCreate(savedInstanceState);
  60. setContentView(R.layout.activity_add_inventory);
  61. final Intent intent = getIntent();
  62.  
  63. //Variable initialization
  64. dept_spinner = (Spinner)findViewById(R.id.dept_spinner);
  65. aisle_spinner = (Spinner)findViewById(R.id.aisle_spinner);
  66. bay_spinner = (Spinner)findViewById(R.id.bay_spinner);
  67. shelf_spinner = (Spinner)findViewById(R.id.shelf_spinner);
  68.  
  69. product_name = (EditText)findViewById(R.id.product_name);
  70. num_stock = (EditText)findViewById(R.id.num_stock);
  71. product_id = (EditText)findViewById(R.id.product_id);
  72. product_desc = (EditText)findViewById(R.id.product_desc);
  73.  
  74. add_product_btn = (Button)findViewById(R.id.add_product_btn);
  75. take_image_btn = (Button)findViewById(R.id.take_image_btn);
  76. upload_image_btn = (Button)findViewById(R.id.upload_image_btn);
  77.  
  78. //Firebase initialization
  79. mAuth = FirebaseAuth.getInstance();
  80. mFirebaseDatabase = FirebaseDatabase.getInstance();
  81. myRef = mFirebaseDatabase.getReference();
  82. final FirebaseUser user = mAuth.getCurrentUser();
  83. userID = user.getUid();
  84.  
  85.  
  86. mAuthListener = new FirebaseAuth.AuthStateListener() {
  87. @Override
  88. public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  89. FirebaseUser user = firebaseAuth.getCurrentUser();
  90. if (user == null) {
  91.  
  92. }
  93. }
  94. };
  95.  
  96.  
  97. myRef.addListenerForSingleValueEvent(new ValueEventListener() {
  98. ArrayList<String> DeptNamesList = new ArrayList<String>();
  99. zAllUserData zInfo = new zAllUserData();
  100. @Override
  101. public void onDataChange(DataSnapshot dataSnapshot) {
  102. zInfo.setNumAisles(dataSnapshot.child(userID).child("aisles").getValue(String.class));
  103. MAXAISLES = Integer.parseInt(zInfo.getNumAisles());
  104. Log.i("MAXAISLES ", MAXAISLES + "");
  105.  
  106. zInfo.setDeptNames(dataSnapshot.child(userID).child("deptNames").getValue(String.class));
  107. DEPTNAMES = zInfo.getDeptNames();
  108. ARR_DEPTNAMES = DEPTNAMES.split("\\s*,\\s*");
  109. Log.i("MAXDEPTS ", DEPTNAMES);
  110. String deptHolder = "";
  111. for (int i = 0; i < ARR_DEPTNAMES.length ; i++) {
  112. deptHolder = ARR_DEPTNAMES[i].toString();
  113. DeptNamesList.add(deptHolder);
  114. }
  115. ArrayAdapter deptAdp = new ArrayAdapter(AddInventory.this,android.R.layout.simple_spinner_dropdown_item, DeptNamesList);
  116. dept_spinner.setAdapter(deptAdp);
  117.  
  118. }
  119.  
  120. @Override
  121. public void onCancelled(DatabaseError databaseError) {
  122.  
  123. }
  124. });
  125. AisleBayRef = mFirebaseDatabase.getReference().child(userID).child("BaySetup");
  126. AisleBayRef.addListenerForSingleValueEvent(new ValueEventListener() {
  127. ArrayList<String>advAarr = new ArrayList<>();
  128. ArrayList<String>advBarr = new ArrayList<>();
  129. ArrayList<String> arrayz = new ArrayList<>();
  130. String totalNumBays="";
  131. String totalNumAisles = "";
  132. @Override
  133. public void onDataChange(DataSnapshot dataSnapshot) {
  134. arrMaxAisles = new ArrayList<String>();
  135. //try array creation here
  136. for (DataSnapshot childSnapShot : dataSnapshot.getChildren()) {
  137. String advAisle = (String) childSnapShot.child("aisle").getValue();
  138. String advBay = (String) childSnapShot.child("bays").getValue();
  139. Log.i("zCheckCheck: ", advAisle + " " + advBay);
  140.  
  141. String advA = "ADVAisle: " + advAisle + "ADVBays: " + advBay;
  142. arrayz.add(advA);
  143. arrMaxAisles.add(advAisle);
  144. arrMaxBays.add(advBay);
  145. BAY_NUMBERS += advBay;
  146. }
  147.  
  148. Log.i("advBarrSize", " " + BAY_NUMBERS);
  149. }
  150.  
  151. @Override
  152. public void onCancelled(DatabaseError databaseError) {
  153.  
  154. }
  155. });
  156. AisleBayShelfRef = mFirebaseDatabase.getReference().child(userID).child("ShelfSetup");
  157. AisleBayShelfRef.addValueEventListener(new ValueEventListener() {
  158. ArrayList<String> allAisles = new ArrayList<>();
  159. ArrayList<String> allBays = new ArrayList<>();
  160. ArrayList<String> allShelves = new ArrayList<>();
  161. HashMap<String,String> myHash = new HashMap<String, String>();
  162. int maxAisles = 0;
  163. int maxBays = 0;
  164.  
  165. @Override
  166. public void onDataChange(DataSnapshot dataSnapshot) {
  167. int count = 0;
  168. ArrayList<String>shelfHold= new ArrayList<String>();
  169. for (DataSnapshot childSnapShot : dataSnapshot.getChildren()) {
  170. String aisleNum = (String) childSnapShot.child("aisle_num").getValue();
  171. String bayNum = (String) childSnapShot.child("bay_num").getValue();
  172. String shelfNum = (String) childSnapShot.child("num_of_shelves").getValue();
  173. allAisles.add(aisleNum);
  174. allBays.add(bayNum);
  175. allShelves.add(shelfNum);
  176. String strHold = aisleNum + " " + bayNum + " " + shelfNum;
  177. myHash.put("Aisle"+count, strHold);
  178. count++;
  179. }
  180. ArrayAdapter arrayAdapter1 = new ArrayAdapter(AddInventory.this,android.R.layout.simple_spinner_dropdown_item, arrMaxAisles);
  181. aisle_spinner.setAdapter(arrayAdapter1);
  182. final int currentBayToInt = 0;
  183. ArrayList<String>AisleDefiner = new ArrayList<String>();
  184. ArrayList<String>BayDefiner = new ArrayList<String>();
  185. //Set Bay Spinner according to the specific Aisle Num Spinner Selected
  186. aisle_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  187. @Override
  188. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  189. int currentAisleSelected = position;
  190. currentAisleSelected = aisle_spinner.getSelectedItemPosition();
  191. int bayHolder = 0;
  192. ArrayList<String> currentNumBays = new ArrayList<String>();
  193. for (int i=0; i < arrMaxAisles.size(); i++) {
  194. if (i == currentAisleSelected) {
  195. bayHolder = Integer.parseInt(arrMaxBays.get(i));
  196. }
  197. }
  198. for (int j = 0; j < bayHolder; j++) {
  199. currentNumBays.add(String.valueOf(j));
  200. }
  201.  
  202. ArrayAdapter advBadp = new ArrayAdapter(AddInventory.this,android.R.layout.simple_spinner_dropdown_item, currentNumBays);
  203. bay_spinner.setAdapter(advBadp);
  204. }
  205. @Override
  206. public void onNothingSelected(AdapterView<?> parent) {
  207.  
  208. }
  209. });
  210. bay_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  211. ArrayList<String> currentShelfArr = new ArrayList<String>();
  212. @Override
  213. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  214. currentShelfArr=new ArrayList<String>();
  215. int currentBaySelected = position;
  216. int currentAisleSelected = aisle_spinner.getSelectedItemPosition();
  217. currentBaySelected = bay_spinner.getSelectedItemPosition();
  218. int shelfHolder=0;
  219. String currentShelf = "";
  220. String zz= "";
  221. for (int i = 0; i <= currentAisleSelected; i++) {
  222. for (int j = 0; j <= currentBaySelected ; j++) {
  223. if (i==currentAisleSelected && j==currentBaySelected){
  224. currentShelf = allShelves.get(j);
  225. String k = currentShelf;
  226. int shelfCounter=0;
  227. shelfCounter=Integer.parseInt(k);
  228. }
  229. Log.i("daCurrentShelf: ", currentShelf);
  230. }
  231. }
  232.  
  233. int shelfCounter = Integer.parseInt(currentShelf);
  234. if(Integer.parseInt(currentShelf) == 0){
  235. currentShelfArr.add(String.valueOf(0));
  236. }else{
  237. for (int i = 0; i < shelfCounter; i++) {
  238. currentShelfArr.add(String.valueOf(i));
  239. }
  240. }
  241. ArrayAdapter shelfAdp = new ArrayAdapter(AddInventory.this,android.R.layout.simple_spinner_dropdown_item, currentShelfArr);
  242. shelf_spinner.setAdapter(shelfAdp);
  243. Log.i("daCurrent: ", "aisle" + currentAisleSelected + " bay" + currentBaySelected + "Shelf " + currentShelf);
  244. }
  245.  
  246. @Override
  247. public void onNothingSelected(AdapterView<?> parent) {
  248.  
  249. }
  250. });
  251.  
  252.  
  253.  
  254.  
  255. //String currentBay= arrMaxBays.get(i);
  256. //currentBayToInt = Integer.parseInt(currentBay);
  257. //for (int j = 0; j < currentBayToInt; j++) {
  258. //BayDefiner.add(String.valueOf(j));
  259. //}
  260.  
  261.  
  262. //Load arrListMaxAisles to the Aisle Spinner
  263. // ArrayAdapter arrayAdapter1 = new ArrayAdapter(AddInventory.this,android.R.layout.simple_spinner_dropdown_item, AisleDefiner);
  264. //aisle_spinner.setAdapter(arrayAdapter1);
  265.  
  266.  
  267.  
  268.  
  269. Log.i("myHashSize"," " + myHash.size());
  270. Iterator myVeryOwnIterator = myHash.keySet().iterator();
  271. while(myVeryOwnIterator.hasNext()) {
  272. String key=(String)myVeryOwnIterator.next();
  273. String value=(String)myHash.get(key);
  274. Log.i("MyHASH","Key: "+key+" Value: "+value);
  275. }
  276.  
  277. }
  278.  
  279.  
  280. @Override
  281. public void onCancelled(DatabaseError databaseError) {
  282.  
  283. }
  284. });
  285. take_image_btn.setOnClickListener(new View.OnClickListener() {
  286. @Override
  287. public void onClick(View view) {
  288. Intent intent = new Intent(AddInventory.this, EditStoreAndDepartmentActivity.class);
  289. startActivity(intent);
  290. }
  291. });
  292. add_product_btn.setOnClickListener(new View.OnClickListener() {
  293. @Override
  294. public void onClick(View view) {
  295. // String x = getSpinnerValues();
  296. // String[] xx = x.split("\\s*,\\s*");
  297. String p_id = product_id.getText().toString();
  298. String p_name = product_name.getText().toString();
  299. String stock_amt = num_stock.getText().toString();
  300. String p_desc = product_desc.getText().toString();
  301.  
  302. String currentAisleSpinner = aisle_spinner.getSelectedItem().toString();
  303. String currentBaySpinner = bay_spinner.getSelectedItem().toString();
  304. String currentShelfSpinner = shelf_spinner.getSelectedItem().toString();
  305. String currentDeptSpinner = dept_spinner.getSelectedItem().toString();
  306. Log.i("ProductInfo: ", p_id + " " + p_name + " " + stock_amt + " " + p_desc);
  307. Log.i("SubmitDept ", currentDeptSpinner);
  308. Log.i("SubmitLocation ", currentAisleSpinner + " " + currentBaySpinner + " "+ currentShelfSpinner);
  309. }
  310. });
  311. }
  312.  
  313. public String getSpinnerValues(){
  314. aisle_spinner = (Spinner)findViewById(R.id.aisle_spinner);
  315. String aisleSpinTxt = aisle_spinner.getSelectedItem().toString();
  316. //aisle_spin_int = Integer.parseInt(aisleSpinTxt);
  317.  
  318. bay_spinner = (Spinner)findViewById(R.id.bay_spinner);
  319. String baySpinTxt = bay_spinner.getSelectedItem().toString();
  320.  
  321. shelf_spinner = (Spinner)findViewById(R.id.shelf_spinner);
  322. String shelfSpinTxt = shelf_spinner.getSelectedItem().toString();
  323.  
  324. return aisleSpinTxt +","+baySpinTxt+","+shelfSpinTxt;
  325. }
  326. @Override
  327. public void onStart() {
  328. super.onStart();
  329. mAuth.addAuthStateListener(mAuthListener);
  330. }
  331.  
  332. @Override
  333. public void onStop() {
  334. super.onStop();
  335. if (mAuthListener != null) {
  336. mAuth.removeAuthStateListener(mAuthListener);
  337. }
  338. }
  339. private void toastMessage(String message) {
  340. Toast.makeText(this,message, Toast.LENGTH_SHORT).show();
  341. }
  342. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement