Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8039e03 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Use config provider for OEM MMI codes"

parents c28ea9a0 6b56ebf4
Loading
Loading
Loading
Loading
+18 −13
Original line number Original line Diff line number Diff line
@@ -59,14 +59,15 @@ import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.Selec
import com.android.dialer.common.Assert;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.telephony.TelephonyManagerCompat;
import com.android.dialer.compat.telephony.TelephonyManagerCompat;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.oem.MotorolaUtils;
import com.android.dialer.oem.MotorolaUtils;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.PermissionsUtil;
import com.android.dialer.util.PermissionsUtil;
import com.google.common.collect.ImmutableSet;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.BitMatrix;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Arrays;
import java.util.List;
import java.util.List;
import java.util.Locale;
import java.util.Locale;
@@ -93,17 +94,8 @@ public class SpecialCharSequenceMgr {
  private static final String ADN_NAME_COLUMN_NAME = "name";
  private static final String ADN_NAME_COLUMN_NAME = "name";
  private static final int ADN_QUERY_TOKEN = -1;
  private static final int ADN_QUERY_TOKEN = -1;


  @VisibleForTesting
  /** Comma separated MMI codes specific to OEM/device. */
  static final List<String> TRANSSION_CODES =
  @VisibleForTesting static final String CONFIG_OEM_MMI_CODES_CSV = "oem_mmi_codes_csv";
      new ArrayList<String>() {
        {
          add("*#07#");
          add("*#87#");
          add("*#43#");
          add("*#2727#");
          add("*#88#");
        }
      };


  /**
  /**
   * Remembers the previous {@link QueryHandler} and cancel the operation when needed, to prevent
   * Remembers the previous {@link QueryHandler} and cancel the operation when needed, to prevent
@@ -172,7 +164,8 @@ public class SpecialCharSequenceMgr {
      TelephonyManagerCompat.handleSecretCode(context, secretCode);
      TelephonyManagerCompat.handleSecretCode(context, secretCode);
      return true;
      return true;
    }
    }
    if (TRANSSION_CODES.contains(input)) {

    if (getOemSecretCodes(context).contains(input)) {
      String secretCode = input.substring(2, input.length() - 1);
      String secretCode = input.substring(2, input.length() - 1);
      TelephonyManagerCompat.handleSecretCode(context, secretCode);
      TelephonyManagerCompat.handleSecretCode(context, secretCode);
      return true;
      return true;
@@ -180,6 +173,18 @@ public class SpecialCharSequenceMgr {
    return false;
    return false;
  }
  }


  /**
   * Get the OEM codes from the config provider. The config provider should be aware of the device
   * and manufacturer.
   */
  private static ImmutableSet<String> getOemSecretCodes(Context context) {
    String csv = ConfigProviderBindings.get(context).getString(CONFIG_OEM_MMI_CODES_CSV, null);
    if (TextUtils.isEmpty(csv)) {
      return ImmutableSet.of();
    }
    return ImmutableSet.copyOf(csv.split(","));
  }

  /**
  /**
   * Handle ADN requests by filling in the SIM contact number into the requested EditText.
   * Handle ADN requests by filling in the SIM contact number into the requested EditText.
   *
   *