<item name="android:layout">@layout/preference_material_settings</item>
</style>
+ <style name="SyncSwitchPreference" parent="Preference">
+ <item name="android:widgetLayout">@layout/preference_widget_sync_toggle</item>
+ </style>
+
<style name="PreferenceHeaderPanelSinglePane">
<item name="android:layout_marginStart">0dp</item>
<item name="android:layout_marginEnd">0dp</item>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- Needed so PreferenceGroupAdapter allows SyncStateSwitchPreference to be
+ recycled. Removed in onResume -->
+ <com.android.settings.accounts.SyncStateSwitchPreference
+ android:key="dummy" />
+
</PreferenceScreen>
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ setPreferenceScreen(null);
+ addPreferencesFromResource(R.xml.account_sync_settings);
setHasOptionsMenu(true);
}
}
protected void initializeUi(final View rootView) {
- addPreferencesFromResource(R.xml.account_sync_settings);
-
mErrorInfoView = (TextView) rootView.findViewById(R.id.sync_settings_error_info);
mErrorInfoView.setVisibility(View.GONE);
@Override
public void onResume() {
+ removePreference("dummy");
mAuthenticatorHelper.listenToAccountUpdates();
updateAuthDescriptions();
onAccountsUpdate(UserHandle.getCallingUserHandle());
mProviderIcon.setImageDrawable(getDrawableForType(mAccount.type));
mProviderId.setText(getLabelForType(mAccount.type));
}
- addPreferencesFromResource(R.xml.account_sync_settings);
}
@Override
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.TextView;
import com.android.settings.R;
private boolean mOneTimeSyncMode = false;
public SyncStateSwitchPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- setWidgetLayoutResource(R.layout.preference_widget_sync_toggle);
+ super(context, attrs, 0, R.style.SyncSwitchPreference);
mAccount = null;
mAuthority = null;
}
public SyncStateSwitchPreference(Context context, Account account, String authority) {
- super(context, null);
+ super(context, null, 0, R.style.SyncSwitchPreference);
mAccount = account;
mAuthority = authority;
- setWidgetLayoutResource(R.layout.preference_widget_sync_toggle);
}
@Override