Guest User

Untitled

a guest
Jun 25th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.00 KB | None | 0 0
  1. package com.example.sharma.digimenu.ViewHolder;
  2.  
  3. import android.support.v7.widget.RecyclerView;
  4. import android.view.View;
  5. import android.widget.ImageView;
  6. import android.widget.TextView;
  7.  
  8. import com.example.sharma.digimenu.Interface.ItemClickListener;
  9. import com.example.sharma.digimenu.R;
  10.  
  11. public class MenuViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
  12.  
  13. public TextView txtMenuName;
  14. public ImageView imageView;
  15.  
  16. private ItemClickListener itemClickListener;
  17.  
  18. public MenuViewHolder(View itemView) {
  19.  
  20. super(itemView);
  21. txtMenuName = itemView.findViewById(R.id.menu_name);
  22. imageView = itemView.findViewById(R.id.menu_image);
  23. itemView.setOnClickListener(this);
  24. }
  25. public void setItemClickListener(ItemClickListener itemClickListener){
  26. this.itemClickListener = itemClickListener;
  27. }
  28. @Override
  29. public void onClick (View view) {
  30. itemClickListener.onClick(view,getAdapterPosition(),false);
  31. }
  32. }
  33.  
  34. public class Home extends AppCompatActivity
  35. implements NavigationView.OnNavigationItemSelectedListener {
  36.  
  37. FirebaseRecyclerAdapter adapter;
  38. FirebaseDatabase database;
  39. DatabaseReference category;
  40.  
  41. TextView txtFullName;
  42.  
  43. RecyclerView recycler_menu;
  44. RecyclerView.LayoutManager layoutManager;
  45. private Picasso.Builder mRecyclerMenu;
  46.  
  47. @Override
  48. protected void onCreate(Bundle savedInstanceState) {
  49. super.onCreate(savedInstanceState);
  50. setContentView(R.layout.activity_home);
  51. Toolbar toolbar = findViewById(R.id.toolbar);
  52. toolbar.setTitle("Menu");
  53. setSupportActionBar(toolbar);
  54.  
  55. database = FirebaseDatabase.getInstance();
  56. category = database.getReference("Category");
  57. FloatingActionButton fab = findViewById(R.id.fab);
  58. fab.setOnClickListener(new View.OnClickListener() {
  59. @Override
  60. public void onClick(View view) {
  61. Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
  62. .setAction("Action", null).show();
  63. }
  64. });
  65.  
  66. DrawerLayout drawer = findViewById(R.id.drawer_layout);
  67. ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
  68. this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  69. drawer.addDrawerListener(toggle);
  70. toggle.syncState();
  71.  
  72. NavigationView navigationView = findViewById(R.id.nav_view);
  73. navigationView.setNavigationItemSelectedListener(this);
  74.  
  75. View headerview = navigationView.getHeaderView(0);
  76. txtFullName = headerview.findViewById(R.id.txtFullName);
  77. txtFullName = (TextView)findViewById(R.id.txtFullName);
  78.  
  79. recycler_menu =(RecyclerView) findViewById(R.id.recyclermenu);
  80.  
  81. layoutManager = new LinearLayoutManager(this);
  82. recycler_menu.setLayoutManager(layoutManager);
  83.  
  84. loadMenu();
  85. }
  86.  
  87. private void loadMenu(){
  88.  
  89. FirebaseRecyclerAdapter<Category,MenuViewHolder> adapter = new FirebaseRecyclerAdapter<Category,
  90. MenuViewHolder>(Category.class,R.layout.menu_item,MenuViewHolder.class,category) {
  91. @Override
  92. protected void populateViewHolder(MenuViewHolder viewHolder, Category model, int position) {
  93. viewHolder.txtMenuName.setText(model.getName());
  94. Picasso.with(getBaseContext()).load(model.getImage()).into(viewHolder.imageView);
  95. final Category clickItem = model;
  96. viewHolder.setItemClickListener(new ItemClickListener() {
  97. @Override
  98. public void onClick(View view, int position, boolean isLongClick) {
  99. Toast.makeText(Home.this, "" + clickItem.getName(), Toast.LENGTH_SHORT).show();
  100. }
  101. });
  102. }
  103. };
  104. }
  105. @Override
  106. public void onBackPressed() {
  107. DrawerLayout drawer = findViewById(R.id.drawer_layout);
  108. if (drawer.isDrawerOpen(GravityCompat.START)) {
  109. drawer.closeDrawer(GravityCompat.START);
  110. } else {
  111. super.onBackPressed();
  112. }
  113. }
  114.  
  115. @Override
  116. public boolean onCreateOptionsMenu(Menu menu) {
  117. // Inflate the menu; this adds items to the action bar if it is present.
  118. getMenuInflater().inflate(R.menu.home, menu);
  119. return true;
  120. }
  121.  
  122. @Override
  123. public boolean onOptionsItemSelected(MenuItem item) {
  124.  
  125. return super.onOptionsItemSelected(item);
  126. }
  127. @SuppressWarnings("StatementWithEmptyBody")
  128. @Override
  129. public boolean onNavigationItemSelected(MenuItem item) {
  130. // Handle navigation view item clicks here.
  131. int id = item.getItemId();
  132. if (id == R.id.nav_menu) {// Handle the camera action
  133. }
  134. else if(id == R.id.nav_cart){
  135. }
  136. else if(id == R.id.nav_orders){
  137. }
  138. else if(id == R.id.nav_logout){
  139. }
  140.  
  141. DrawerLayout drawer = findViewById(R.id.drawer_layout);
  142. drawer.closeDrawer(GravityCompat.START);
  143. return true;
  144. }
  145. }
  146.  
  147. auth.createUserWithEmailAndPassword(edtEmail.getText().toString(), edtPassword.getText().toString())
  148. .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
  149. @Override
  150. public void onSuccess(AuthResult authResult) {
  151. User user = new User();
  152. user.setEmail(edtEmail.getText().toString());
  153. user.setPassword(edtPassword.getText().toString());
  154. user.setPhone(edtPhone.getText().toString());
  155. user.setName(edtName.getText().toString());
  156. users.child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid()).setValue(user)
  157. .addOnSuccessListener(new OnSuccessListener<Void>() {
  158. @Override
  159. public void onSuccess(Void aVoid) {
  160. Snackbar.make(rootLayout, "Register Successfully", Snackbar.LENGTH_SHORT)
  161. .show();
  162. }
  163. })
  164. .addOnFailureListener(new OnFailureListener() {
  165. @Override
  166. public void onFailure(@NonNull Exception e) {
  167. Snackbar.make(rootLayout, "Failed" + e.getMessage(), Snackbar.LENGTH_SHORT)
  168. .show();
  169. }
  170. })
  171. .addOnFailureListener(new OnFailureListener() {
  172. @Override
  173. public void onFailure(@NonNull Exception e) {
  174. Snackbar.make(rootLayout, "Failed" + e.getMessage(), Snackbar.LENGTH_SHORT)
  175. .show();
  176. }
  177. });
  178. }
  179. });
  180.  
  181. }
  182. });
  183. dialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
  184. @Override
  185. public void onClick(DialogInterface dialogInterface, int i) {
  186.  
  187. dialogInterface.dismiss();
  188. }
  189. });
  190. dialog.show();
  191. }
  192. private void showSignInDialog() {
  193.  
  194. final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
  195. dialog.setTitle("SIGN IN");
  196. dialog.setMessage("Please use email to sign in");
  197.  
  198. LayoutInflater inflater = LayoutInflater.from(this);
  199. View signin_layout = inflater.inflate(R.layout.layout_signin, null);
  200.  
  201. final MaterialEditText edtEmail = signin_layout.findViewById(R.id.edtEmail);
  202. final MaterialEditText edtPassword = signin_layout.findViewById(R.id.edtPassword);
  203.  
  204. dialog.setView(signin_layout);
  205.  
  206. dialog.setPositiveButton("SIGN IN", new DialogInterface.OnClickListener() {
  207. @Override
  208. public void onClick(DialogInterface dialogInterface, int i) {
  209.  
  210. dialogInterface.dismiss();
  211.  
  212. if (TextUtils.isEmpty(edtEmail.getText().toString())) {
  213. Snackbar.make(rootLayout, "Please enter email address", Snackbar.LENGTH_SHORT).show();
  214. return;
  215. }
  216. if (TextUtils.isEmpty(edtPassword.getText().toString())) {
  217. Snackbar.make(rootLayout, "Please enter password", Snackbar.LENGTH_SHORT).show();
  218. return;
  219. }
  220. if (edtPassword.getText().toString().length() < 6) {
  221. Snackbar.make(rootLayout, "Password too short!!!", Snackbar.LENGTH_SHORT).show();
  222. return;
  223. }
  224. auth.signInWithEmailAndPassword(edtEmail.getText().toString(), edtPassword.getText().toString())
  225. .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
  226. public User user;
  227.  
  228. @Override
  229. public void onSuccess(AuthResult authResult) {
  230. startActivity(new Intent(MainActivity.this, Home.class));
  231. Common.currentUser = user;
  232. finish();
  233. }
  234. })
  235. .addOnFailureListener(new OnFailureListener() {
  236. @Override
  237. public void onFailure(@NonNull Exception e) {
  238. Snackbar.make(rootLayout, "Failed" + e.getMessage(), Snackbar.LENGTH_SHORT).show();
  239. }
  240. });
  241. }
  242. });
  243. dialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
  244. @Override
  245. public void onClick(DialogInterface dialogInterface, int i) {
  246. dialogInterface.dismiss();
  247. }
  248. });
  249. dialog.show();
  250. }
  251. }
  252.  
  253. [project folder][3]
Add Comment
Please, Sign In to add comment