Guest User

Untitled

a guest
Jul 12th, 2016
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.75 KB | None | 0 0
  1. public class CMainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
  2. public static Toolbar m_Toolbar;// toolbar
  3. protected static DrawerLayout m_Drawer;// drawerlayout
  4. private static CLoginSessionManagement s_oCloginSession;// refernce of loginsession management
  5. private static ActionBarDrawerToggle s_drawerToggle;// drawer toggle
  6. private final BroadcastReceiver m_oInternetChecker = new BroadcastReceiver() {// creating broadcast to receive otp sent by server from Inbox...
  7. @Override
  8. public void onReceive(Context context, Intent intent) {// on receive method to read OTP sent by server
  9. // getWallet();// check whether edit text is empty or not
  10.  
  11. }
  12. };
  13. private String TAG = CMainActivity.class.getSimpleName();
  14. private TabLayout m_TabLayout;
  15. private AlertDialog m_AlertDialog;
  16. private boolean doubleBackToExitPressedOnce;
  17. private AlertDialog.Builder m_Builder;
  18. private ViewPager m_ViewPager;// declare view pager variable
  19. private String s_szWalletBalance;
  20. private String newString;
  21.  
  22. @SuppressWarnings("deprecation")
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.activity_main);
  27.  
  28. setupToolbar();
  29.  
  30. IntentFilter m_intentFilter = new IntentFilter();// creating object of Intentfilter class user for defining permission
  31. m_intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");// action to check Internet connection
  32. getApplicationContext().registerReceiver(m_oInternetChecker, m_intentFilter);// register receiver....
  33. init();
  34.  
  35. }
  36.  
  37. public void init() {
  38. s_oCloginSession = new CLoginSessionManagement(CMainActivity.this);// object creation of Login Session...
  39.  
  40.  
  41.  
  42. // navigation bar code
  43. m_Drawer = (DrawerLayout) findViewById(R.id.drawer_layout);//finding id of drawerlayout
  44. s_drawerToggle = new ActionBarDrawerToggle(
  45. this, m_Drawer, m_Toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  46. m_Drawer.setDrawerListener(s_drawerToggle);
  47. m_Drawer.setScrimColor(getResources().getColor(android.R.color.transparent));
  48. s_drawerToggle.syncState();
  49.  
  50. NavigationView m_Navigation = (NavigationView) findViewById(R.id.nav_view);
  51. m_Navigation.setNavigationItemSelectedListener(this);
  52.  
  53. m_TabLayout = (TabLayout) findViewById(R.id.tab_layout);// finding Id of tablayout
  54. m_ViewPager = (ViewPager) findViewById(R.id.pager);//finding Id of ViewPager
  55. m_TabLayout.addTab(m_TabLayout.newTab().setText("Deals"));// add deal listin tab
  56. m_TabLayout.addTab(m_TabLayout.newTab().setText("Stories"));// add stories tab
  57. m_TabLayout.setTabGravity(TabLayout.GRAVITY_FILL);// setting Gravity of Tab
  58.  
  59.  
  60. CDealMainListingPager m_oDealMainScreenPager = new CDealMainListingPager(getSupportFragmentManager(), m_TabLayout.getTabCount());
  61. m_ViewPager.setAdapter(m_oDealMainScreenPager);// adiing adapter to ViewPager
  62. m_ViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(m_TabLayout));// performing action of page changing
  63. m_TabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  64. @Override
  65. public void onTabSelected(TabLayout.Tab tab) {
  66. m_ViewPager.setCurrentItem(tab.getPosition());
  67. }
  68.  
  69. @Override
  70. public void onTabUnselected(TabLayout.Tab tab) {
  71.  
  72. }
  73.  
  74. @Override
  75. public void onTabReselected(TabLayout.Tab tab) {
  76.  
  77. }
  78. });
  79. if (getIntent().hasExtra("login") && getIntent().getExtras().getBoolean("login")) {
  80. CSnackBar.getInstance().showSnackBarSuccess(findViewById(R.id.drawer_layout), "Login success", getApplicationContext());
  81. }
  82. }
  83.  
  84. @Override
  85. protected void onResume() {
  86. super.onResume();
  87. Log.i(TAG, "OnResume............");
  88. if (m_ViewPager != null) {
  89. m_ViewPager.setCurrentItem(0);
  90. }
  91. getWallet();
  92. }
  93.  
  94. @Override
  95. protected void onDestroy() {
  96. super.onDestroy();
  97. Log.i(TAG, "OnDestroy.................");
  98. getApplicationContext().unregisterReceiver(m_oInternetChecker);// unregistaer broadcast receiver.
  99. }
  100.  
  101. public void getWallet() {
  102. if (NetworkUtil.isConnected(getApplicationContext())) {
  103. getWalletBalance();// method to POST data to server to get wallet balance
  104. } else {
  105.  
  106. CSnackBar.getInstance().showSnackBarError(findViewById(R.id.mainLayout), "No Internet Connection Available", getApplicationContext());
  107. }
  108. }
  109.  
  110.  
  111. // setting toolbar
  112. private void setupToolbar() {
  113. m_Toolbar = (Toolbar) findViewById(R.id.toolbar);
  114. setSupportActionBar(m_Toolbar);
  115.  
  116. //noinspection ConstantConditions
  117. getSupportActionBar().setDisplayShowTitleEnabled(false);
  118. }
  119.  
  120. void setupDrawerToggle() {
  121. s_drawerToggle = new ActionBarDrawerToggle(this, m_Drawer, m_Toolbar, R.string.app_name, R.string.app_name);
  122. //This is necessary to change the icon of the Drawer Toggle upon state change.
  123. s_drawerToggle.syncState();
  124. }
  125.  
  126. // performing onclick navigation bar item
  127. @SuppressWarnings("StatementWithEmptyBody")
  128. @Override
  129. public boolean onNavigationItemSelected(MenuItem item) {
  130. // Handle navigation view item clicks here.
  131. int id = item.getItemId();
  132.  
  133. if (id == R.id.nav_wallet) {
  134. // Handle the camera action
  135. Intent wallet = new Intent(this, CMyWalletScreen.class);
  136. startActivity(wallet);
  137. } else if (id == R.id.referandEarn) {
  138. Intent refer = new Intent(this, CReferAndEarnScreen.class);
  139. startActivity(refer);
  140. } else if (id == R.id.myProfile) {
  141. Intent profile = new Intent(this, CMyProfile.class);
  142. startActivity(profile);
  143. } else if (id == R.id.setting) {
  144. Intent setting = new Intent(this, CSettingScreen.class);
  145. startActivity(setting);
  146. } else if (id == R.id.LogOut) {
  147. showdialog();
  148. }
  149. m_Drawer.closeDrawer(GravityCompat.START);
  150. return true;
  151. }
  152.  
  153. public void showdialog() {
  154. m_Builder = new AlertDialog.Builder(CMainActivity.this);
  155. m_Builder.setCancelable(false);
  156. m_Builder.setTitle("Log Out");
  157. String sourceString = "Log out now ?";
  158. m_Builder.setMessage(Html.fromHtml(sourceString));
  159. m_Builder.setPositiveButton(getString(R.string.log_out), new DialogInterface.OnClickListener() {
  160. @Override
  161. public void onClick(DialogInterface dialog, int which) {
  162. m_AlertDialog.dismiss();
  163. s_oCloginSession.logoutUser();
  164. }
  165. });
  166. m_Builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
  167. @Override
  168. public void onClick(DialogInterface dialog, int which) {
  169. m_AlertDialog.dismiss();
  170. }
  171. });
  172. m_AlertDialog = m_Builder.create();
  173. m_AlertDialog.show();
  174. }
  175.  
  176. @Override
  177. public boolean onCreateOptionsMenu(Menu menu) {
  178. // Inflate the menu; this adds items to the action bar if it is present.
  179. getMenuInflater().inflate(R.menu.main, menu);
  180. return true;
  181. }
  182.  
  183. @Override
  184. public boolean onOptionsItemSelected(MenuItem item) {
  185. int id = item.getItemId();
  186.  
  187. //noinspection SimplifiableIfStatement
  188. if (id == R.id.action_settings) {
  189. return true;
  190. }
  191. return super.onOptionsItemSelected(item);
  192. }
  193.  
  194. public void getWalletBalance() {
  195. try {
  196. CLoginSessionManagement s_oSessionManagement = new CLoginSessionManagement(getApplicationContext());// making object of Registartion session management
  197. // retreive user data from shared preferencce........
  198. HashMap<String, String> user = s_oSessionManagement.getLoginDetails();// getting String from Regisatrtion session
  199. String m_szMobileNumber = user.get(CLoginSessionManagement.s_szKEY_MOBILE).trim();
  200. String m_szEncryptedPassword = user.get(CLoginSessionManagement.s_szKEY_PASSWORD).trim();
  201.  
  202. String json;
  203. // 3. build jsonObject
  204. JSONObject jsonObject = new JSONObject();
  205. jsonObject.put("agentCode", m_szMobileNumber);// sending mobile no.(static right know becuse of ser side data on other is null
  206. jsonObject.put("pin", m_szEncryptedPassword);// same here as said above
  207.  
  208. // 4. convert JSONObject to JSON to String
  209. json = jsonObject.toString();
  210. Log.e(TAG, "Server Request:-" + json);
  211. RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
  212. JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, CServerAPI.s_szWalletURL, jsonObject, new Response.Listener<JSONObject>() {
  213. @Override
  214. public void onResponse(JSONObject response) {
  215. Log.e(TAG, "Server Response:-" + response);
  216. try {
  217. if (response.getString("resultdescription").equalsIgnoreCase("Transaction Successful")) {
  218. s_szWalletBalance = response.getString("walletbalance").trim();// get wallet balance fro response
  219. String trimwalletBalance = s_szWalletBalance.substring(0, s_szWalletBalance.indexOf("."));// trim waalet balance from response.
  220. CWalletDataModel.getInstance().setS_szWalletBalance(trimwalletBalance);// set wallet balance
  221. // showing wallet transaction in textView....
  222. m_Toolbar.setTitle(CWalletDataModel.getInstance().getS_szWalletBalance() + " Points");
  223. Log.e(TAG, CWalletDataModel.getInstance().getS_szWalletBalance());
  224.  
  225. } else {
  226.  
  227. }
  228. } catch (JSONException e) {
  229. e.printStackTrace();
  230. }
  231. }
  232. }, new Response.ErrorListener() {
  233. @Override
  234. public void onErrorResponse(VolleyError error) {
  235. Log.e(TAG, "Server error:-" + error);
  236. if (error instanceof TimeoutError) {
  237. CSnackBar.getInstance().showSnackBarError(findViewById(R.id.mainLayout), "Connection time out! please try again", getApplicationContext());
  238. } else if (error instanceof NetworkError) {
  239. CSnackBar.getInstance().showSnackBarError(findViewById(R.id.mainLayout), "No Internet connection", getApplicationContext());
  240. }
  241. }
  242. });
  243.  
  244. requestQueue.add(jsonObjectRequest);
  245. } catch (JSONException e) {
  246. e.printStackTrace();
  247. }
  248. }
  249.  
  250. @Override
  251. public void onBackPressed() {
  252. if (doubleBackToExitPressedOnce) {
  253. super.onBackPressed();
  254. CMainActivity.this.finish();
  255. return;
  256. }
  257. this.doubleBackToExitPressedOnce = true;
  258. Toast.makeText(this, getResources().getString(R.string.pressagaintoexit), Toast.LENGTH_SHORT).show();
  259. new Handler().postDelayed(new Runnable() {
  260. @Override
  261. public void run() {
  262. doubleBackToExitPressedOnce = false;
  263. }
  264. }, 2000);
  265. }
  266.  
  267. }
Add Comment
Please, Sign In to add comment