mirror of
https://github.com/oliexdev/openScale.git
synced 2025-09-03 05:12:42 +02:00
HACK to call RequestPermissionResult(...) in PreferenceFragment otherwise API level > 23 is required
This commit is contained in:
@@ -473,6 +473,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
currentFragment.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.health.openscale.gui.activities;
|
package com.health.openscale.gui.activities;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -22,6 +23,9 @@ import android.preference.PreferenceActivity;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
import com.health.openscale.R;
|
import com.health.openscale.R;
|
||||||
|
import com.health.openscale.gui.preferences.BackupPreferences;
|
||||||
|
import com.health.openscale.gui.preferences.BluetoothPreferences;
|
||||||
|
import com.health.openscale.gui.utils.PermissionHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,6 +33,7 @@ import java.util.List;
|
|||||||
public class SettingsActivity extends PreferenceActivity {
|
public class SettingsActivity extends PreferenceActivity {
|
||||||
public static String EXTRA_TINT_COLOR = "tintColor";
|
public static String EXTRA_TINT_COLOR = "tintColor";
|
||||||
private static List<String> fragments = new ArrayList<String>();
|
private static List<String> fragments = new ArrayList<String>();
|
||||||
|
private Fragment currentFragment;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -60,4 +65,28 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
protected boolean isValidFragment(String fragmentName) {
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
return fragments.contains(fragmentName);
|
return fragments.contains(fragmentName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttachFragment(Fragment fragment) {
|
||||||
|
currentFragment = fragment;
|
||||||
|
super.onAttachFragment(fragment);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
||||||
|
// HACK to call RequestPermissionResult(...) in PreferenceFragment otherwise API level > 23 is required
|
||||||
|
switch(requestCode) {
|
||||||
|
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION:
|
||||||
|
BluetoothPreferences bluetoothPreferences = (BluetoothPreferences)currentFragment;
|
||||||
|
bluetoothPreferences.onMyOwnRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
break;
|
||||||
|
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_READ_STORAGE:
|
||||||
|
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_WRITE_STORAGE:
|
||||||
|
BackupPreferences backupPreferences = (BackupPreferences)currentFragment;
|
||||||
|
backupPreferences.onMyOwnRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -218,8 +218,7 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
|
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void onMyOwnRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
||||||
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
|
||||||
switch (requestCode) {
|
switch (requestCode) {
|
||||||
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_READ_STORAGE:
|
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_READ_STORAGE:
|
||||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
@@ -236,7 +235,5 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -245,8 +245,7 @@ public class BluetoothPreferences extends PreferenceFragment implements SharedPr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void onMyOwnRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
||||||
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
|
||||||
switch (requestCode) {
|
switch (requestCode) {
|
||||||
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION: {
|
case PermissionHelper.PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION: {
|
||||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
@@ -254,7 +253,7 @@ public class BluetoothPreferences extends PreferenceFragment implements SharedPr
|
|||||||
} else {
|
} else {
|
||||||
Toast.makeText(getActivity().getApplicationContext(), getResources().getString(R.string.permission_not_granted), Toast.LENGTH_SHORT).show();
|
Toast.makeText(getActivity().getApplicationContext(), getResources().getString(R.string.permission_not_granted), Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user