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.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
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 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;
|
SettingsMainSwitchBar mMainSwitchBar;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController;
|
private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController;
|
||||||
@@ -106,6 +112,35 @@ public class AudioSharingDashboardFragment extends DashboardFragment
|
|||||||
mMainSwitchBar.show();
|
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
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
@@ -39,8 +39,10 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.platform.test.flag.junit.SetFlagsRule;
|
import android.platform.test.flag.junit.SetFlagsRule;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -115,6 +117,41 @@ public class AudioSharingDashboardFragmentTest {
|
|||||||
assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_audio_sharing);
|
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
|
@Test
|
||||||
public void onActivityCreated_showSwitchBar() {
|
public void onActivityCreated_showSwitchBar() {
|
||||||
doReturn(mSwitchBar).when(mActivity).getSwitchBar();
|
doReturn(mSwitchBar).when(mActivity).getSwitchBar();
|
||||||
|
Reference in New Issue
Block a user