Loading src/com/android/settings/ProxySelector.java +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ public class ProxySelector extends InstrumentedFragment implements DialogCreatab if (mDialogFragment != null) { Log.e(TAG, "Old dialog fragment not null!"); } mDialogFragment = new SettingsDialogFragment(this, dialogId); mDialogFragment = SettingsDialogFragment.newInstance(this, dialogId); mDialogFragment.show(getActivity().getSupportFragmentManager(), Integer.toString(dialogId)); } Loading src/com/android/settings/SettingsPreferenceFragment.java +19 −7 Original line number Diff line number Diff line Loading @@ -454,7 +454,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF if (mDialogFragment != null) { Log.e(TAG, "Old dialog fragment not null!"); } mDialogFragment = new SettingsDialogFragment(this, dialogId); mDialogFragment = SettingsDialogFragment.newInstance(this, dialogId); mDialogFragment.show(getChildFragmentManager(), Integer.toString(dialogId)); } Loading Loading @@ -541,22 +541,26 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF private DialogInterface.OnCancelListener mOnCancelListener; private DialogInterface.OnDismissListener mOnDismissListener; public SettingsDialogFragment(DialogCreatable fragment, int dialogId) { super(fragment, dialogId); public static SettingsDialogFragment newInstance(DialogCreatable fragment, int dialogId) { if (!(fragment instanceof Fragment)) { throw new IllegalArgumentException("fragment argument must be an instance of " + Fragment.class.getName()); } mParentFragment = (Fragment) fragment; } final SettingsDialogFragment settingsDialogFragment = new SettingsDialogFragment(); settingsDialogFragment.setParentFragment(fragment); settingsDialogFragment.setDialogId(dialogId); return settingsDialogFragment; } @Override public int getMetricsCategory() { if (mDialogCreatable == null) { if (mParentFragment == null) { return Instrumentable.METRICS_CATEGORY_UNKNOWN; } final int metricsCategory = mDialogCreatable.getDialogMetricsCategory(mDialogId); final int metricsCategory = ((DialogCreatable) mParentFragment).getDialogMetricsCategory(mDialogId); if (metricsCategory <= 0) { throw new IllegalStateException("Dialog must provide a metrics category"); } Loading Loading @@ -639,6 +643,14 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } } } private void setParentFragment(DialogCreatable fragment) { mParentFragment = (Fragment) fragment; } private void setDialogId(int dialogId) { mDialogId = dialogId; } } protected boolean hasNextButton() { Loading tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -51,8 +51,8 @@ public class SettingsDialogFragmentTest { public void testGetMetrics_shouldGetMetricFromDialogCreatable() { when(mDialogCreatable.getDialogMetricsCategory(DIALOG_ID)).thenReturn(1); mDialogFragment = new SettingsPreferenceFragment.SettingsDialogFragment(mDialogCreatable, DIALOG_ID); mDialogFragment = SettingsPreferenceFragment.SettingsDialogFragment.newInstance( mDialogCreatable, DIALOG_ID); mDialogFragment.onAttach(RuntimeEnvironment.application); mDialogFragment.getMetricsCategory(); Loading @@ -65,8 +65,8 @@ public class SettingsDialogFragmentTest { when(mDialogCreatable.getDialogMetricsCategory(DIALOG_ID)).thenReturn(-1); try { mDialogFragment = new SettingsPreferenceFragment.SettingsDialogFragment(mDialogCreatable, DIALOG_ID); mDialogFragment = SettingsPreferenceFragment.SettingsDialogFragment.newInstance( mDialogCreatable, DIALOG_ID); mDialogFragment.onAttach(RuntimeEnvironment.application); fail("Should fail with IllegalStateException"); } catch (IllegalStateException e) { Loading Loading
src/com/android/settings/ProxySelector.java +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ public class ProxySelector extends InstrumentedFragment implements DialogCreatab if (mDialogFragment != null) { Log.e(TAG, "Old dialog fragment not null!"); } mDialogFragment = new SettingsDialogFragment(this, dialogId); mDialogFragment = SettingsDialogFragment.newInstance(this, dialogId); mDialogFragment.show(getActivity().getSupportFragmentManager(), Integer.toString(dialogId)); } Loading
src/com/android/settings/SettingsPreferenceFragment.java +19 −7 Original line number Diff line number Diff line Loading @@ -454,7 +454,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF if (mDialogFragment != null) { Log.e(TAG, "Old dialog fragment not null!"); } mDialogFragment = new SettingsDialogFragment(this, dialogId); mDialogFragment = SettingsDialogFragment.newInstance(this, dialogId); mDialogFragment.show(getChildFragmentManager(), Integer.toString(dialogId)); } Loading Loading @@ -541,22 +541,26 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF private DialogInterface.OnCancelListener mOnCancelListener; private DialogInterface.OnDismissListener mOnDismissListener; public SettingsDialogFragment(DialogCreatable fragment, int dialogId) { super(fragment, dialogId); public static SettingsDialogFragment newInstance(DialogCreatable fragment, int dialogId) { if (!(fragment instanceof Fragment)) { throw new IllegalArgumentException("fragment argument must be an instance of " + Fragment.class.getName()); } mParentFragment = (Fragment) fragment; } final SettingsDialogFragment settingsDialogFragment = new SettingsDialogFragment(); settingsDialogFragment.setParentFragment(fragment); settingsDialogFragment.setDialogId(dialogId); return settingsDialogFragment; } @Override public int getMetricsCategory() { if (mDialogCreatable == null) { if (mParentFragment == null) { return Instrumentable.METRICS_CATEGORY_UNKNOWN; } final int metricsCategory = mDialogCreatable.getDialogMetricsCategory(mDialogId); final int metricsCategory = ((DialogCreatable) mParentFragment).getDialogMetricsCategory(mDialogId); if (metricsCategory <= 0) { throw new IllegalStateException("Dialog must provide a metrics category"); } Loading Loading @@ -639,6 +643,14 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } } } private void setParentFragment(DialogCreatable fragment) { mParentFragment = (Fragment) fragment; } private void setDialogId(int dialogId) { mDialogId = dialogId; } } protected boolean hasNextButton() { Loading
tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -51,8 +51,8 @@ public class SettingsDialogFragmentTest { public void testGetMetrics_shouldGetMetricFromDialogCreatable() { when(mDialogCreatable.getDialogMetricsCategory(DIALOG_ID)).thenReturn(1); mDialogFragment = new SettingsPreferenceFragment.SettingsDialogFragment(mDialogCreatable, DIALOG_ID); mDialogFragment = SettingsPreferenceFragment.SettingsDialogFragment.newInstance( mDialogCreatable, DIALOG_ID); mDialogFragment.onAttach(RuntimeEnvironment.application); mDialogFragment.getMetricsCategory(); Loading @@ -65,8 +65,8 @@ public class SettingsDialogFragmentTest { when(mDialogCreatable.getDialogMetricsCategory(DIALOG_ID)).thenReturn(-1); try { mDialogFragment = new SettingsPreferenceFragment.SettingsDialogFragment(mDialogCreatable, DIALOG_ID); mDialogFragment = SettingsPreferenceFragment.SettingsDialogFragment.newInstance( mDialogCreatable, DIALOG_ID); mDialogFragment.onAttach(RuntimeEnvironment.application); fail("Should fail with IllegalStateException"); } catch (IllegalStateException e) { Loading