Move device detail edit button from menu to header
Move the edit button on Bluetooth device detail, From action bar menu to header. Use EntityHeaderController to add and control, Rename those method because we use them on more than one place now. Change-Id: I3afad6baeab80895c109603e2ab13428582a4dd8 Fixes: 76206922 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -17,12 +17,19 @@
|
||||
package com.android.settings.bluetooth;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.applications.LayoutPreference;
|
||||
@@ -39,6 +46,7 @@ import org.junit.After;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Answers;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.InOrder;
|
||||
import org.mockito.Mock;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -97,6 +105,10 @@ public class BluetoothDetailsHeaderControllerTest extends BluetoothDetailsContro
|
||||
verify(mHeaderController).setIconContentDescription(any(String.class));
|
||||
verify(mHeaderController).setSummary(any(String.class));
|
||||
verify(mHeaderController).setSecondSummary(any(String.class));
|
||||
verify(mHeaderController).setEditListener(any(View.OnClickListener.class));
|
||||
verify(mHeaderController).setButtonActions(
|
||||
EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE,
|
||||
EntityHeaderController.ActionType.ACTION_NONE);
|
||||
verify(mHeaderController).done(mActivity, true);
|
||||
}
|
||||
|
||||
@@ -119,4 +131,20 @@ public class BluetoothDetailsHeaderControllerTest extends BluetoothDetailsContro
|
||||
inOrder.verify(mHeaderController)
|
||||
.setSummary(mContext.getString(R.string.bluetooth_connecting));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void invokeShowEditDeviceNameDialog_showDialog() {
|
||||
showScreen(mController);
|
||||
|
||||
FragmentManager fragmentManager = mock(FragmentManager.class);
|
||||
when(mFragment.getFragmentManager()).thenReturn(fragmentManager);
|
||||
FragmentTransaction ft = mock(FragmentTransaction.class);
|
||||
when(fragmentManager.beginTransaction()).thenReturn(ft);
|
||||
|
||||
ArgumentCaptor<Fragment> captor = ArgumentCaptor.forClass(Fragment.class);
|
||||
mController.showEditDeviceNameDialog();
|
||||
verify(ft).add(captor.capture(), eq(RemoteDeviceNameDialogFragment.TAG));
|
||||
RemoteDeviceNameDialogFragment dialog = (RemoteDeviceNameDialogFragment) captor.getValue();
|
||||
assertThat(dialog).isNotNull();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user