BuyInkUrl.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package epson.print.Util;
  2. import android.content.Context;
  3. import android.net.Uri;
  4. import android.os.Build;
  5. import androidx.annotation.NonNull;
  6. import java.util.Locale;
  7. import epson.common.Constants;
  8. import epson.print.CommonDefine;
  9. import epson.print.MyPrinter;
  10. import epson.print.R;
  11. public class BuyInkUrl implements CommonDefine {
  12. private static final String NOZZLE_CHECK_GUIDANCE_URL_FORMAT = "https://support.epson.net/dvc_sn/?DeviceID=%s&PINF=support&EXE=iprint";
  13. public static Uri getNozzleCheckGuidanceUri(@NonNull Context context) {
  14. String printerDeviceId = MyPrinter.getPrinterDeviceId(context, false);
  15. if (printerDeviceId == null) {
  16. printerDeviceId = "";
  17. }
  18. String replaceFirst = printerDeviceId.replaceFirst("(?i)" + context.getString(R.string.epson) + " +", "");
  19. return Uri.parse(String.format(Locale.US, NOZZLE_CHECK_GUIDANCE_URL_FORMAT, new Object[]{Uri.encode(replaceFirst)}));
  20. }
  21. public static Uri getBuyInkUri(@NonNull Context context) {
  22. return Uri.parse(urlSupport(context, CommonDefine.URL_INK));
  23. }
  24. public static String urlSupport(Context context, String str) {
  25. boolean z;
  26. String serialNo;
  27. StringBuilder sb = new StringBuilder();
  28. sb.append(CommonDefine.headUrl);
  29. sb.append(CommonDefine.LG2);
  30. sb.append(Locale.getDefault().getLanguage());
  31. sb.append(CommonDefine.CN2);
  32. sb.append(Locale.getDefault().getCountry());
  33. sb.append(CommonDefine.CTC);
  34. if (str.equals(CommonDefine.URL_INK)) {
  35. sb.append(getPriunterLanguage(context));
  36. z = true;
  37. } else {
  38. sb.append(str);
  39. z = false;
  40. }
  41. sb.append(CommonDefine.PRN);
  42. sb.append(getPrinterName(context, z));
  43. sb.append(CommonDefine.OSC);
  44. sb.append(CommonDefine.ARD);
  45. sb.append(CommonDefine.OSV);
  46. sb.append(getArdVer());
  47. sb.append(CommonDefine.OATR);
  48. sb.append(Build.MODEL.replace(" ", CommonDefine.UNDER_BAR));
  49. if (str.equals(CommonDefine.URL_ONLINE_REGISTRATION)) {
  50. sb.append(CommonDefine.SID);
  51. sb.append(MyPrinter.getCurPrinter(context).getSerialNo());
  52. }
  53. if (str.equals(CommonDefine.URL_INK) && (serialNo = MyPrinter.getCurPrinter(context).getSerialNo()) != null && serialNo.length() >= 4) {
  54. sb.append(CommonDefine.PSI4);
  55. sb.append(serialNo.substring(0, 4));
  56. }
  57. return sb.toString();
  58. }
  59. private static String getPrinterName(Context context, boolean z) {
  60. String printerDeviceId = MyPrinter.getPrinterDeviceId(context, z);
  61. if (printerDeviceId == null || printerDeviceId == "") {
  62. printerDeviceId = CommonDefine.NO_PRINT;
  63. }
  64. if (printerDeviceId.equals(context.getString(R.string.str_lbl_title_scan))) {
  65. printerDeviceId = CommonDefine.NO_PRINT;
  66. }
  67. String replace = printerDeviceId.replace(" ", CommonDefine.UNDER_BAR);
  68. try {
  69. return replace.substring(0, replace.indexOf(CommonDefine.UNDER_BAR)).equalsIgnoreCase(context.getString(R.string.epson)) ? replace.substring(replace.indexOf(CommonDefine.UNDER_BAR) + 1) : replace;
  70. } catch (StringIndexOutOfBoundsException unused) {
  71. return replace;
  72. }
  73. }
  74. private static String getPriunterLanguage(Context context) {
  75. switch (context.getSharedPreferences("PrintSetting", 0).getInt(Constants.LANG, 1)) {
  76. case 1:
  77. return CommonDefine.URL_INK;
  78. case 7:
  79. return "BUYLPSUPPLY";
  80. default:
  81. return CommonDefine.URL_INK;
  82. }
  83. }
  84. private static String getArdVer() {
  85. return CommonDefine.ARDAPI + CommonDefine.UNDER_BAR + CommonDefine.ARDAPINUM + Build.VERSION.SDK_INT;
  86. }
  87. @NonNull
  88. public static String getFaqUrlString(Context context) {
  89. return urlSupport(context, CommonDefine.URL_FAQ);
  90. }
  91. }