Merge "Fix button not clickable in sim confirm dialog" into udc-dev am: 6619994919
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23012494 Change-Id: Ib24e2c605b64bc20abf7b1cdf2a1af3dee2e0346 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -17,24 +17,27 @@
|
|||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** Fragment to show a confirm dialog. The caller should implement onConfirmListener. */
|
/** Fragment to show a confirm dialog. The caller should implement onConfirmListener. */
|
||||||
public class ConfirmDialogFragment extends BaseDialogFragment
|
public class ConfirmDialogFragment extends BaseDialogFragment
|
||||||
@@ -136,28 +139,10 @@ public class ConfirmDialogFragment extends BaseDialogFragment
|
|||||||
dialogMessage.setVisibility(View.VISIBLE);
|
dialogMessage.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
final ArrayAdapter<String> arrayAdapterItems = new ArrayAdapter<String>(
|
|
||||||
getContext(),
|
|
||||||
R.layout.sim_confirm_dialog_item_multiple_enabled_profiles_supported, list);
|
|
||||||
final ListView lvItems = content.findViewById(R.id.carrier_list);
|
final ListView lvItems = content.findViewById(R.id.carrier_list);
|
||||||
if (lvItems != null) {
|
if (lvItems != null) {
|
||||||
lvItems.setVisibility(View.VISIBLE);
|
lvItems.setVisibility(View.VISIBLE);
|
||||||
lvItems.setAdapter(arrayAdapterItems);
|
lvItems.setAdapter(new ButtonArrayAdapter(getContext(), list));
|
||||||
lvItems.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onItemClick(AdapterView<?> parent, View view, int position,
|
|
||||||
long id) {
|
|
||||||
Log.i(TAG, "list onClick =" + position);
|
|
||||||
Log.i(TAG, "list item =" + list.get(position));
|
|
||||||
|
|
||||||
if (position == list.size() - 1) {
|
|
||||||
// user select the "cancel" item;
|
|
||||||
informCaller(false, -1);
|
|
||||||
} else {
|
|
||||||
informCaller(true, position);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
final LinearLayout infoOutline = content.findViewById(R.id.info_outline_layout);
|
final LinearLayout infoOutline = content.findViewById(R.id.info_outline_layout);
|
||||||
if (infoOutline != null) {
|
if (infoOutline != null) {
|
||||||
@@ -197,4 +182,32 @@ public class ConfirmDialogFragment extends BaseDialogFragment
|
|||||||
}
|
}
|
||||||
listener.onConfirm(getTagInCaller(), confirmed, itemPosition);
|
listener.onConfirm(getTagInCaller(), confirmed, itemPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class ButtonArrayAdapter extends ArrayAdapter<String> {
|
||||||
|
private final List<String> mList;
|
||||||
|
|
||||||
|
ButtonArrayAdapter(Context context, List<String> list) {
|
||||||
|
super(context, R.layout.sim_confirm_dialog_item_multiple_enabled_profiles_supported,
|
||||||
|
list);
|
||||||
|
mList = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
|
||||||
|
View view = super.getView(position, convertView, parent);
|
||||||
|
view.setOnClickListener(v -> {
|
||||||
|
Log.i(TAG, "list onClick =" + position);
|
||||||
|
Log.i(TAG, "list item =" + mList.get(position));
|
||||||
|
|
||||||
|
if (position == mList.size() - 1) {
|
||||||
|
// user select the "cancel" item;
|
||||||
|
informCaller(false, -1);
|
||||||
|
} else {
|
||||||
|
informCaller(true, position);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user