Merge "Set a value in Settings.Global to indicate if user is on audio sharing dashboard fragment" into main
This commit is contained in:
@@ -25,6 +25,7 @@ import android.bluetooth.BluetoothDevice;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -44,6 +45,11 @@ public class AudioSharingDashboardFragment extends DashboardFragment
|
||||
|
||||
public static final int SHARE_THEN_PAIR_REQUEST_CODE = 1002;
|
||||
|
||||
public static final String IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY =
|
||||
"is_showing_audio_sharing_dashboard";
|
||||
public static final int SHOWING_AUDIO_SHARING_DASHBOARD = 1;
|
||||
public static final int NOT_SHOWING_AUDIO_SHARING_DASHBOARD = 0;
|
||||
|
||||
SettingsMainSwitchBar mMainSwitchBar;
|
||||
private Context mContext;
|
||||
private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController;
|
||||
@@ -106,6 +112,35 @@ public class AudioSharingDashboardFragment extends DashboardFragment
|
||||
mMainSwitchBar.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// TODO(b/395058868): Remove this if it's decided this is not needed.
|
||||
setAudioSharingDashboardSettingsGlobal(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
// TODO(b/395058868): Remove this if it's decided this is not needed.
|
||||
setAudioSharingDashboardSettingsGlobal(false);
|
||||
}
|
||||
|
||||
private void setAudioSharingDashboardSettingsGlobal(Boolean isShowingAudioSharingDashboard) {
|
||||
var unused =
|
||||
ThreadUtils.postOnBackgroundThread(
|
||||
() -> {
|
||||
int value =
|
||||
isShowingAudioSharingDashboard
|
||||
? SHOWING_AUDIO_SHARING_DASHBOARD
|
||||
: NOT_SHOWING_AUDIO_SHARING_DASHBOARD;
|
||||
Settings.Global.putInt(
|
||||
mContext.getContentResolver(),
|
||||
IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY,
|
||||
value);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
@@ -39,8 +39,10 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Looper;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
import android.provider.Settings;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -115,6 +117,41 @@ public class AudioSharingDashboardFragmentTest {
|
||||
assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_audio_sharing);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onResume_setAudioSharingDashboardSettingsGlobal_showAudioSharingDashboard() {
|
||||
mFragment = spy(new AudioSharingDashboardFragment());
|
||||
doReturn(mActivity).when(mFragment).getActivity();
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
final PreferenceScreen screen = new PreferenceScreen(mContext, null /* attrs */);
|
||||
doReturn(screen).when(mFragment).getPreferenceScreen();
|
||||
mFragment.onAttach(mContext);
|
||||
mFragment.onResume();
|
||||
shadowOf(Looper.getMainLooper()).idle();
|
||||
|
||||
assertThat(
|
||||
Settings.Global.getInt(
|
||||
mContext.getContentResolver(),
|
||||
AudioSharingDashboardFragment
|
||||
.IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY,
|
||||
-1))
|
||||
.isEqualTo(AudioSharingDashboardFragment.SHOWING_AUDIO_SHARING_DASHBOARD);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPause_setAudioSharingDashboardSettingsGlobal_notShowAudioSharingDashboard() {
|
||||
mFragment.onAttach(mContext);
|
||||
mFragment.onPause();
|
||||
shadowOf(Looper.getMainLooper()).idle();
|
||||
|
||||
assertThat(
|
||||
Settings.Global.getInt(
|
||||
mContext.getContentResolver(),
|
||||
AudioSharingDashboardFragment
|
||||
.IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY,
|
||||
-1))
|
||||
.isEqualTo(AudioSharingDashboardFragment.NOT_SHOWING_AUDIO_SHARING_DASHBOARD);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onActivityCreated_showSwitchBar() {
|
||||
doReturn(mSwitchBar).when(mActivity).getSwitchBar();
|
||||
|
Reference in New Issue
Block a user