Loading res/layout/apn_preference_layout.xml +7 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:minHeight="?android:attr/listPreferredItemHeight" android:focusable="false" android:gravity="center_vertical"> <RelativeLayout Loading @@ -30,13 +31,14 @@ android:gravity="center_vertical" android:layout_weight="1" android:focusable="true" android:clickable="true" android:background="?android:attr/selectableItemBackground"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="true" android:focusable="false" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceListItem" /> Loading @@ -48,6 +50,7 @@ android:layout_alignStart="@android:id/title" android:textAppearance="?android:attr/textAppearanceListItemSecondary" android:textColor="?android:attr/textColorSecondary" android:focusable="false" android:maxLines="2" /> </RelativeLayout> Loading @@ -59,6 +62,7 @@ android:layout_marginStart="8dip" android:layout_marginEnd="8dip" android:layout_gravity="center_vertical" android:focusable="true" android:clickable="true" /> </LinearLayout> src/com/android/settings/network/ApnPreference.java +34 −14 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.util.Log; import android.view.View; import android.widget.CompoundButton; import android.widget.RadioButton; import android.widget.RelativeLayout; import android.widget.Toast; import androidx.preference.Preference; Loading @@ -34,19 +35,32 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; public class ApnPreference extends Preference implements CompoundButton.OnCheckedChangeListener { /** * Preference of APN UI entry */ public class ApnPreference extends Preference implements CompoundButton.OnCheckedChangeListener, View.OnClickListener { final static String TAG = "ApnPreference"; private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; /** * Constructor of Preference */ public ApnPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } /** * Constructor of Preference */ public ApnPreference(Context context, AttributeSet attrs) { this(context, attrs, R.attr.apnPreferenceStyle); } /** * Constructor of Preference */ public ApnPreference(Context context) { this(context, null); } Loading @@ -61,6 +75,9 @@ public class ApnPreference extends Preference implements CompoundButton.OnChecke public void onBindViewHolder(PreferenceViewHolder view) { super.onBindViewHolder(view); final RelativeLayout textArea = (RelativeLayout) view.findViewById(R.id.text_layout); textArea.setOnClickListener(this); final View widget = view.findViewById(R.id.apn_radiobutton); if ((widget != null) && widget instanceof RadioButton) { final RadioButton rb = (RadioButton) widget; Loading Loading @@ -111,23 +128,26 @@ public class ApnPreference extends Preference implements CompoundButton.OnChecke } @Override protected void onClick() { public void onClick(View layoutView) { super.onClick(); final Context context = getContext(); if (context != null) { final int pos = Integer.parseInt(getKey()); if (context == null) { Log.w(TAG, "No context available for pos=" + pos); return; } if (mHideDetails) { Toast.makeText(context, context.getString( R.string.cannot_change_apn_toast), Toast.LENGTH_LONG).show(); return; } final int pos = Integer.parseInt(getKey()); final Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos); final Intent editIntent = new Intent(Intent.ACTION_EDIT, url); editIntent.putExtra(ApnSettings.SUB_ID, mSubId); editIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); context.startActivity(editIntent); } } public void setSelectable(boolean selectable) { mSelectable = selectable; Loading Loading
res/layout/apn_preference_layout.xml +7 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:minHeight="?android:attr/listPreferredItemHeight" android:focusable="false" android:gravity="center_vertical"> <RelativeLayout Loading @@ -30,13 +31,14 @@ android:gravity="center_vertical" android:layout_weight="1" android:focusable="true" android:clickable="true" android:background="?android:attr/selectableItemBackground"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="true" android:focusable="false" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceListItem" /> Loading @@ -48,6 +50,7 @@ android:layout_alignStart="@android:id/title" android:textAppearance="?android:attr/textAppearanceListItemSecondary" android:textColor="?android:attr/textColorSecondary" android:focusable="false" android:maxLines="2" /> </RelativeLayout> Loading @@ -59,6 +62,7 @@ android:layout_marginStart="8dip" android:layout_marginEnd="8dip" android:layout_gravity="center_vertical" android:focusable="true" android:clickable="true" /> </LinearLayout>
src/com/android/settings/network/ApnPreference.java +34 −14 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.util.Log; import android.view.View; import android.widget.CompoundButton; import android.widget.RadioButton; import android.widget.RelativeLayout; import android.widget.Toast; import androidx.preference.Preference; Loading @@ -34,19 +35,32 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; public class ApnPreference extends Preference implements CompoundButton.OnCheckedChangeListener { /** * Preference of APN UI entry */ public class ApnPreference extends Preference implements CompoundButton.OnCheckedChangeListener, View.OnClickListener { final static String TAG = "ApnPreference"; private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; /** * Constructor of Preference */ public ApnPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } /** * Constructor of Preference */ public ApnPreference(Context context, AttributeSet attrs) { this(context, attrs, R.attr.apnPreferenceStyle); } /** * Constructor of Preference */ public ApnPreference(Context context) { this(context, null); } Loading @@ -61,6 +75,9 @@ public class ApnPreference extends Preference implements CompoundButton.OnChecke public void onBindViewHolder(PreferenceViewHolder view) { super.onBindViewHolder(view); final RelativeLayout textArea = (RelativeLayout) view.findViewById(R.id.text_layout); textArea.setOnClickListener(this); final View widget = view.findViewById(R.id.apn_radiobutton); if ((widget != null) && widget instanceof RadioButton) { final RadioButton rb = (RadioButton) widget; Loading Loading @@ -111,23 +128,26 @@ public class ApnPreference extends Preference implements CompoundButton.OnChecke } @Override protected void onClick() { public void onClick(View layoutView) { super.onClick(); final Context context = getContext(); if (context != null) { final int pos = Integer.parseInt(getKey()); if (context == null) { Log.w(TAG, "No context available for pos=" + pos); return; } if (mHideDetails) { Toast.makeText(context, context.getString( R.string.cannot_change_apn_toast), Toast.LENGTH_LONG).show(); return; } final int pos = Integer.parseInt(getKey()); final Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos); final Intent editIntent = new Intent(Intent.ACTION_EDIT, url); editIntent.putExtra(ApnSettings.SUB_ID, mSubId); editIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); context.startActivity(editIntent); } } public void setSelectable(boolean selectable) { mSelectable = selectable; Loading