|
|
|
|
@ -4,6 +4,7 @@ import android.Manifest; |
|
|
|
|
import android.app.Activity; |
|
|
|
|
import android.content.Intent; |
|
|
|
|
import android.content.pm.PackageManager; |
|
|
|
|
import android.net.Uri; |
|
|
|
|
import android.os.Build; |
|
|
|
|
import android.os.Environment; |
|
|
|
|
import android.provider.Settings; |
|
|
|
|
@ -11,9 +12,11 @@ import android.view.View; |
|
|
|
|
|
|
|
|
|
import androidx.activity.result.ActivityResultLauncher; |
|
|
|
|
import androidx.activity.result.contract.ActivityResultContracts; |
|
|
|
|
import androidx.annotation.RequiresApi; |
|
|
|
|
import androidx.core.content.ContextCompat; |
|
|
|
|
import androidx.viewbinding.ViewBinding; |
|
|
|
|
|
|
|
|
|
import com.fongmi.android.tv.BuildConfig; |
|
|
|
|
import com.fongmi.android.tv.R; |
|
|
|
|
import com.fongmi.android.tv.api.ApiConfig; |
|
|
|
|
import com.fongmi.android.tv.bean.Config; |
|
|
|
|
@ -77,7 +80,7 @@ public class SettingActivity extends BaseActivity implements SettingCallback { |
|
|
|
|
|
|
|
|
|
private void checkUrl(String url) { |
|
|
|
|
if (url.startsWith("file://") && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) { |
|
|
|
|
launcherIntent.launch(new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)); |
|
|
|
|
openSetting(); |
|
|
|
|
} else if (url.startsWith("file://") && Build.VERSION.SDK_INT < Build.VERSION_CODES.R && ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { |
|
|
|
|
launcherString.launch(Manifest.permission.READ_EXTERNAL_STORAGE); |
|
|
|
|
} else { |
|
|
|
|
@ -85,6 +88,15 @@ public class SettingActivity extends BaseActivity implements SettingCallback { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@RequiresApi(api = Build.VERSION_CODES.R) |
|
|
|
|
private void openSetting() { |
|
|
|
|
try { |
|
|
|
|
launcherIntent.launch(new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Uri.parse("package:" + BuildConfig.APPLICATION_ID))); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
launcherIntent.launch(new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void loadConfig() { |
|
|
|
|
ApiConfig.get().clear().loadConfig(new Callback() { |
|
|
|
|
@Override |
|
|
|
|
|