Advertisement
gust94

HomePageActivity

Jan 19th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.68 KB | None | 0 0
  1. package com.dss.invitup.vc.homePage;
  2. import android.Manifest;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.graphics.Color;
  7. import android.net.Uri;
  8. import android.os.Build;
  9. import android.os.Bundle;
  10. import android.provider.Settings;
  11. import android.support.annotation.NonNull;
  12. import android.support.v4.app.ActivityCompat;
  13. import android.support.v4.app.Fragment;
  14. import android.support.v4.app.FragmentManager;
  15. import android.support.v7.app.AppCompatActivity;
  16. import android.telephony.TelephonyManager;
  17. import android.util.Log;
  18. import android.view.Window;
  19. import android.view.WindowManager;
  20. import android.widget.FrameLayout;
  21. import com.dss.invitup.R;
  22. import com.dss.invitup.events.AddPicturePermissionEvent;
  23. import com.dss.invitup.events.HomePageBackButtonTapped;
  24. import com.dss.invitup.events.HostAnEventButtonTapped;
  25. import com.dss.invitup.events.JoinAnEventButtonTapped;
  26. import com.dss.invitup.events.PopBackToJoinEvent;
  27. import com.dss.invitup.events.ProfileTappedEvent;
  28. import com.dss.invitup.events.QRCodeEventButtonTapped;
  29. import com.dss.invitup.singleton.InterfaceManager;
  30. import com.dss.invitup.singleton.ServerManager;
  31. import com.dss.invitup.singleton.SettingsManager;
  32. import de.greenrobot.event.EventBus;
  33. /**
  34. * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
  35. */
  36. public class HomePageActivity extends AppCompatActivity{
  37. FrameLayout rootFrameLayout;
  38. FragmentManager fragmentManager;
  39. HomePageFragment homePageFragment;
  40. JoinEventFragment joinEventFragment;
  41. HostEventFragment hostEventFragment;
  42. ProfileFragment profileFragment;
  43. boolean isEligibleToTakePicture = false;
  44. @Override
  45. protected void onCreate(Bundle savedInstanceState) {
  46. requestWindowFeature(Window.FEATURE_NO_TITLE);
  47. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  48. WindowManager.LayoutParams.FLAG_FULLSCREEN);
  49. super.onCreate(savedInstanceState);
  50. setContentView(R.layout.activity_home_page);
  51. rootFrameLayout = (FrameLayout)findViewById(R.id.homePageRootFrameLayout);
  52. if(!EventBus.getDefault().isRegistered(this)){
  53. EventBus.getDefault().register(this);
  54. }
  55. if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED ) {
  56. ActivityCompat.requestPermissions(this,
  57. new String[]{Manifest.permission.READ_PHONE_STATE},
  58. 2);
  59. }else{
  60. register();
  61. }
  62. fragmentManager = getSupportFragmentManager();
  63. rootFrameLayout.setBackground(InterfaceManager.sharedInstance().getBackgroundAnimation());
  64. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  65. Window window = getWindow();
  66. window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
  67. window.setStatusBarColor(Color.parseColor("#4B76A9"));
  68. }
  69. SettingsManager.getInstance().setActivityJustMade(false);
  70. homePageFragment = new HomePageFragment();
  71. joinEventFragment = new JoinEventFragment();
  72. hostEventFragment = new HostEventFragment();
  73. profileFragment = new ProfileFragment();
  74. ServerManager.getInstance().getAllOccasions(SettingsManager.getInstance().getCurrentUser().getId());
  75. initView();
  76. }
  77. public void initView(){
  78. fragmentManager.beginTransaction()
  79. .replace(R.id.homePageRootFrameLayout,homePageFragment)
  80. .commit();
  81. SettingsManager.getInstance().setActivityJustMade(true);
  82. }
  83. public void onEvent(JoinAnEventButtonTapped event){
  84. SettingsManager.getInstance().setActivityJustMade(false);
  85. fragmentManager.beginTransaction()
  86. .replace(R.id.homePageRootFrameLayout,new JoinEventFragment())
  87. .commit();
  88. }
  89. public void onEvent(HostAnEventButtonTapped event){
  90. SettingsManager.getInstance().setActivityJustMade(false);
  91. if(SettingsManager.getInstance().getCurrentUserOccasionResponse().getManagedOccasions().size()==0){
  92. fragmentManager.beginTransaction()
  93. .replace(R.id.homePageRootFrameLayout,hostEventFragment)
  94. .commit();
  95. }else{
  96. String url = "http://invitup.com";
  97. Intent intent = new Intent(Intent.ACTION_VIEW);
  98. intent.setData(Uri.parse(url));
  99. startActivity(intent);
  100. }
  101. }
  102. public void onEvent(ProfileTappedEvent event){
  103. SettingsManager.getInstance().setActivityJustMade(false);
  104. Bundle bundle = new Bundle();
  105. profileFragment.setArguments(bundle);
  106. fragmentManager.beginTransaction()
  107. .replace(R.id.homePageRootFrameLayout,profileFragment)
  108. .commit();
  109. }
  110. public void onEvent(QRCodeEventButtonTapped event){
  111. SettingsManager.getInstance().setActivityJustMade(false);
  112. fragmentManager.beginTransaction()
  113. .replace(R.id.homePageRootFrameLayout,new QRCodeScannerFragment())
  114. .commit();
  115. }
  116. public void onEvent(PopBackToJoinEvent event){
  117. SettingsManager.getInstance().setActivityJustMade(false);
  118. Bundle bundle = new Bundle();
  119. if(!event.qrCodeString.equalsIgnoreCase("")){
  120. bundle.putString("qrCodeString", event.qrCodeString);
  121. joinEventFragment.setArguments(bundle);
  122. }
  123. fragmentManager.beginTransaction()
  124. .replace(R.id.homePageRootFrameLayout,joinEventFragment)
  125. .commit();
  126. }
  127. public void onEvent(HomePageBackButtonTapped event){
  128. SettingsManager.getInstance().setActivityJustMade(false);
  129. initView();
  130. }
  131. @Override
  132. public void onBackPressed(){
  133. Fragment f = getSupportFragmentManager().findFragmentById(R.id.homePageRootFrameLayout);
  134. if (f instanceof JoinEventFragment || f instanceof ProfileFragment || f instanceof HostEventFragment){
  135. initView();
  136. }
  137. if(f instanceof QRCodeScannerFragment){
  138. fragmentManager.beginTransaction()
  139. .replace(R.id.homePageRootFrameLayout,new JoinEventFragment())
  140. .commitAllowingStateLoss();
  141. }
  142. if(f instanceof HomePageFragment){
  143. super.onBackPressed();
  144. ((HomePageFragment) f).setHeightContentRecyclerView();
  145. }
  146. }
  147. @Override
  148. public void onDestroy(){
  149. super.onDestroy();
  150. if(EventBus.getDefault().isRegistered(this)) {
  151. EventBus.getDefault().unregister(this);
  152. }
  153. }
  154. public void register() {
  155. TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
  156. String deviceId = "";
  157. if (telephonyManager.getDeviceId() != null) {
  158. deviceId = telephonyManager.getDeviceId();
  159. } else {
  160. deviceId = Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
  161. }
  162. if (!deviceId.equals("")) {
  163. SettingsManager.getInstance().setDeviceId(deviceId);
  164. }
  165. }
  166. @Override
  167. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  168. super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  169. switch (requestCode){
  170. case 0:
  171. int flag=0;
  172. if(grantResults.length>0){
  173. for(int i=0; i<grantResults.length; i++){
  174. if(grantResults[i] == PackageManager.PERMISSION_GRANTED){
  175. flag++;
  176. }
  177. }
  178. Log.v("login_flag", flag+"");
  179. if(flag==permissions.length){
  180. isEligibleToTakePicture = true;
  181. }else{
  182. isEligibleToTakePicture = false;
  183. }
  184. EventBus.getDefault().post(new AddPicturePermissionEvent(isEligibleToTakePicture, requestCode));
  185. }
  186. break;
  187. case 1:
  188. if(grantResults.length>0) {
  189. if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  190. isEligibleToTakePicture = true;
  191. }else{
  192. isEligibleToTakePicture = false;
  193. }
  194. EventBus.getDefault().post(new AddPicturePermissionEvent(isEligibleToTakePicture, requestCode));
  195. }
  196. break;
  197. }
  198. }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement