Advertisement
Guest User

Untitled

a guest
Sep 13th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.21 KB | None | 0 0
  1. private boolean checkAndRequestPermissions(){
  2. int permissionReadContacts = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS);
  3. int locationPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
  4. int locationPermission2 =ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
  5.  
  6. List<String> listPermissionsNeeded = new ArrayList<String>();
  7. if (locationPermission != PackageManager.PERMISSION_GRANTED) {
  8. listPermissionsNeeded.add(Manifest.permission.ACCESS_COARSE_LOCATION);
  9. }
  10.  
  11. if (locationPermission2 != PackageManager.PERMISSION_GRANTED) {
  12. Log.i("addingPerm","addingPerm");
  13. listPermissionsNeeded.add(Manifest.permission.ACCESS_FINE_LOCATION);
  14. }
  15.  
  16. if (permissionReadContacts != PackageManager.PERMISSION_GRANTED) {
  17. listPermissionsNeeded.add(Manifest.permission.READ_CONTACTS);
  18. }
  19. if (!listPermissionsNeeded.isEmpty()) {
  20. ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]),REQUEST_ID_MULTIPLE_PERMISSIONS);
  21. return false;
  22. }
  23. return true;
  24.  
  25. }
  26.  
  27. @Override
  28. public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
  29. String TAG = "sonder.SplashActivity";
  30. Log.d(TAG, "Permission callback called-------");
  31. switch (requestCode) {
  32. case REQUEST_ID_MULTIPLE_PERMISSIONS: {
  33.  
  34. Map<String, Integer> perms = new HashMap<String, Integer>();
  35. // Initialize the map with both permissions
  36. perms.put(Manifest.permission.ACCESS_COARSE_LOCATION, PackageManager.PERMISSION_GRANTED);
  37. perms.put(Manifest.permission.ACCESS_FINE_LOCATION, PackageManager.PERMISSION_GRANTED);
  38. perms.put(Manifest.permission.READ_CONTACTS, PackageManager.PERMISSION_GRANTED);
  39.  
  40. // Fill with actual results from user
  41. if (grantResults.length > 0) {
  42. for (int i = 0; i < permissions.length; i++)
  43. perms.put(permissions[i], grantResults[i]);
  44. // Check for both permissions
  45.  
  46. if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
  47. LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  48. LocationListener locationListener = new LocListener();
  49. locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, locationListener);
  50. UserData.setLocation(LocListener.getLat() + "," + LocListener.getLon());
  51. Log.i("aaaaaaaaaa", "aaaaaaaaaa");
  52. Log.i("" + LocListener.getLat(), "" + LocListener.getLon());
  53.  
  54. if (perms.get(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
  55. Log.i("Ahmed", "Ahmed");
  56. Log.d("Permissions", "location services permission granted");
  57. FacebookSdk.sdkInitialize(getApplicationContext());
  58. Thread myThread = new Thread() {
  59. @Override
  60. public void run() {
  61. try {
  62. Log.i("May", "May");
  63. sleep(300);
  64. Intent intent = new Intent(getApplicationContext(), setup_activity.class);
  65. startActivity(intent);
  66. finish();
  67. } catch (InterruptedException e) {
  68. e.printStackTrace();
  69. }
  70. }
  71. };
  72. myThread.start();
  73. } else {
  74. //If permissions are denied
  75. Log.d(TAG, "Location permission not granted ask again");
  76. Intent intent = new Intent(getApplicationContext(), setup_activity.class);
  77. startActivity(intent);
  78. finish();
  79. }
  80. }
  81. }
  82. }
  83. }
  84. }
  85.  
  86. <?xml version="1.0" encoding="utf-8"?>
  87.  
  88. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  89. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  90. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  91. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
  92. <uses-permission android:name="android.permission.INTERNET" />
  93. <uses-permission android:name="android.permissions.NETWORK_ACCESS" />
  94. <uses-permission android:name="android.permission.READ_CONTACTS" />
  95. <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
  96. <uses-permission android:name="android.permissions.ACCESS_FINE_LOCATION" />
  97. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  98. <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
  99. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  100. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  101.  
  102. <uses-feature android:name="android.hardware.location.gps"
  103. android:required="true"/>
  104.  
  105. <uses-feature android:name="android.hardware.location.network"
  106. android:required="true"/>
  107.  
  108. <uses-feature
  109. android:name="android.hardware.location"
  110. android:required="true" />
  111.  
  112. <application
  113. android:name=".utils.orientation_adj"
  114. android:allowBackup="true"
  115. android:icon="@drawable/icon"
  116. android:label="@string/app_name"
  117. android:roundIcon="@drawable/icon"
  118. android:theme="@style/AppTheme"
  119. android:largeHeap="true">
  120. <activity
  121. android:name=".home.splashscreen"
  122. android:theme="@style/AppTheme.NoActionBar">
  123. <intent-filter>
  124. <action android:name="android.intent.action.MAIN" />
  125. <category android:name="android.intent.category.LAUNCHER" />
  126. </intent-filter>
  127. </activity>
  128.  
  129. <activity
  130. android:name=".home.main_activity"
  131. android:theme="@style/AppTheme.NoActionBar">
  132. </activity>
  133. <activity android:name=".drawer.drawer_preferences"></activity>
  134. <activity
  135. android:name=".setup.edit_profile_tags"
  136. android:theme="@style/DialogNoTitle"></activity>
  137. <activity
  138. android:name=".setup.setup_activity"
  139. android:theme="@style/AppTheme">
  140. </activity>
  141. <activity android:name=".setup.backend_test"></activity>
  142. <activity
  143. android:name=".drawer.drawer_view_profile"
  144. android:theme="@style/AppTheme.NoActionBar"></activity>
  145.  
  146. <activity android:name=".drawer.drawer_settings"
  147. android:theme="@style/Switch"></activity>
  148. <activity android:name=".drawer.drawer_help"></activity>
  149.  
  150. <activity android:name=".setup.not_available_in_your_country"
  151. android:theme="@style/AppTheme.NoActionBar">
  152. <!--Add intent filter here-->
  153. </activity>
  154.  
  155. <activity android:name=".setup.readiness"
  156. android:theme="@style/AppTheme.NoActionBar">
  157. </activity>
  158.  
  159. <activity android:name=".setup.locationPermission"
  160. android:theme="@style/AppTheme.NoActionBar">
  161. </activity>
  162. <service
  163. android:name=".utils.GenericAccountService"
  164. android:exported="false">
  165. <intent-filter>
  166. <action android:name="android.accounts.AccountAuthenticator" />
  167. </intent-filter>
  168.  
  169. <meta-data
  170. android:name="android.accounts.AccountAuthenticator"
  171. android:resource="@xml/authenticator" />
  172. </service>
  173.  
  174. <meta-data
  175. android:name="com.facebook.sdk.ApplicationId"
  176. android:value="@string/facebook_app_id" />
  177. <meta-data
  178. android:name="com.google.android.geo.API_KEY"
  179. android:value="@string/google_maps_key" />
  180. <meta-data
  181. android:name="com.google.android.gms.version"
  182. android:value="@integer/google_play_services_version" />
  183. <meta-data
  184. android:name="io.fabric.ApiKey"
  185. android:value="43a4edcd41e180a4beca5aae4040115cfc1b52fe" />
  186. </application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement