Android: Ask for RECORD_AUDIO permission

This commit is contained in:
Sepalani 2024-05-27 02:25:04 +04:00
parent 78f37429ac
commit 2dd01bae6e
2 changed files with 17 additions and 0 deletions

View file

@ -2,6 +2,10 @@
package org.dolphinemu.dolphinemu.features.settings.ui.viewholder
import android.Manifest
import android.app.Activity
import android.content.pm.PackageManager
import android.os.Build
import android.view.View
import android.widget.CompoundButton
import org.dolphinemu.dolphinemu.databinding.ListItemSettingSwitchBinding
@ -10,6 +14,7 @@ import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem
import org.dolphinemu.dolphinemu.features.settings.model.view.SwitchSetting
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization
import org.dolphinemu.dolphinemu.utils.PermissionsHandler
import java.io.File
import java.util.*
@ -57,6 +62,17 @@ class SwitchSettingViewHolder(
binding.settingSwitch.isEnabled = false
}
if (setting.setting === BooleanSetting.MAIN_EMULATE_WII_SPEAK && isChecked) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
itemView.context.checkSelfPermission(Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
val settingsActivity = itemView.context as Activity
settingsActivity.requestPermissions(
arrayOf(Manifest.permission.RECORD_AUDIO),
PermissionsHandler.REQUEST_CODE_RECORD_AUDIO)
}
}
adapter.onBooleanClick(setting, binding.settingSwitch.isChecked)
setStyle(binding.textSettingName, setting)

View file

@ -15,6 +15,7 @@ import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
public class PermissionsHandler
{
public static final int REQUEST_CODE_WRITE_PERMISSION = 500;
public static final int REQUEST_CODE_RECORD_AUDIO = 501;
private static boolean sWritePermissionDenied = false;
public static void requestWritePermission(final FragmentActivity activity)