Chào mừng bạn đến Diễn Đàn ChơiMobile

Cộng đồng Mobile hàng đầu Việt Nam, Phát triển Android, iOS, Kỹ Thuật Mobile. Đăng ký ngay để tạo chủ để và cùng thảo luận !

Thảo luận fix lỗi E100

Thảo luận trong 'Hỏi đáp - Yêu cầu' bắt đầu bởi nhymxu, 26/12/12.

  1. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    tối nay em phải về quê hưởng tết nên có gì bác cứ để lên topic này nhé, em onl 3G nên sida lắm không chat được
    tết không có việc gì lại ngồi nhà mày mò fix thôi :">
     
    2 people like this.
  2. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    Bác te trình bày nốt cho em cái hôm trước để em nghịch với nào
     
  3. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Trời ơi tết nhất rồi bận tối mặt ra chẳng ngồi máy tính được tới 30 phút. Chờ đó anh kiếm 1 máy e100 ngồi xử lí cho tiện.
     
  4. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    Bảo bác sơn send cho con mà fix :v
     
    2 people like this.
  5. LuuBaoNgan.3110

    Senior Member

    16/12/12
    2,125
    7,722
    0
    Nam
    X_X lão mới off
     
  6. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    bác tedofu_katozi đâu rồi vào thảo luận tiếp nào ~.~
    logcat mới
    hình như bị chặn ở chỗ này
    I/MsgDebug( 1089): SmsDispatcher : GetSeptetCount = 160, totalbyte = 140

     
  7. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Chuẩn nó rồi đấy. Xóa béng cái header đi. Cứ cái nào có "stringToGsm7BitPackedWithHeader" thì xóa. pack lại không sợ lỗi
     
  8. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    sao mà xóa được :(
    localObject dính xuống cả dưới
     
  9. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Logcat mới đẹp quá. (paramString3, arrayOfByte2, 0, 0);
    Từ từ ăn nốt tết đi đã. Còn sớm mà. Nghiên cứu chậm rãi mới chắc ăn đươc. Mình sắp được tiếp cận nhiều nhiều e100 rồi hi hi sẽ cùng chung tay nghiên cứu.
     
  10. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    em hết tết rồi bác ơi, còn mai ở nhà rảnh rỗi
    t2 đi học bình thường, lại lên giảng đường ngáp ngủ :)
     
    2 people like this.
  11. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    em đang xem cái file fix s200 bên tinh tế
    không biết cha nào làm mà sửa hết sạch :eek:
    cứ như là edit java chứ không phải smali, viết lại hoàn toàn function, thêm function encoding utf8, xóa hoàn toàn function encode_KSC5601 và các chỗ có function này
    đến cả số thứ tự các biến label cũng đánh số lại luôn :|


    chứ không phải sửa sang tí tí như anh em mình :|
     
  12. msmobile

    Senior Member

    10/12/12
    11,225
    8,172
    0
    Nam
    Kêu gọi cha đó sang giao lưu anh em cái nhỉ
     
  13. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    bên đấy chỉ up file, chứ không biết là ai sửa :|

    cho anh em mở mang chút

    Bản gốc
    Mã:
      public static SmsMessageBase.TextEncodingDetails calculateLength(CharSequence paramCharSequence, boolean paramBoolean)
      {
        SmsMessageBase.TextEncodingDetails localTextEncodingDetails = GsmAlphabet.countGsmSeptets(paramCharSequence, paramBoolean);
        String str;
        if (localTextEncodingDetails == null)
        {
          localTextEncodingDetails = new SmsMessageBase.TextEncodingDetails();
          str = paramCharSequence.toString();
        }
        int i;
        try
        {
          int j = encode_KSC5601(str).length;
          if (MsgLog)
            Log.i("MsgDebug", "calculateLength() string : octets = " + j);
          localTextEncodingDetails.codeUnitCount = j;
          if (j > 140)
            localTextEncodingDetails.msgCount = ((j + 133) / 134);
          for (localTextEncodingDetails.codeUnitsRemaining = (134 * localTextEncodingDetails.msgCount - j); ; localTextEncodingDetails.codeUnitsRemaining = (140 - j))
          {
            localTextEncodingDetails.codeUnitSize = 4;
            if (MsgLog)
              Log.i("MsgDebug", "calculateLength() ted.toString : " + localTextEncodingDetails.toString());
            return localTextEncodingDetails;
            localTextEncodingDetails.msgCount = 1;
          }
        }
        catch (UnsupportedEncodingException localUnsupportedEncodingException)
        {
          i = 2 * paramCharSequence.length();
          Log.e("MsgDebug", "Implausible UnsupportedEncodingException EUC_KR", localUnsupportedEncodingException);
          localTextEncodingDetails.codeUnitCount = paramCharSequence.length();
          if (i <= 140)
            break label243;
        }
        localTextEncodingDetails.msgCount = ((i + 133) / 134);
        for (localTextEncodingDetails.codeUnitsRemaining = ((134 * localTextEncodingDetails.msgCount - i) / 2); ; localTextEncodingDetails.codeUnitsRemaining = ((140 - i) / 2))
        {
          localTextEncodingDetails.codeUnitSize = 3;
          break;
          label243: localTextEncodingDetails.msgCount = 1;
        }
      }
    Bản fix
    Mã:
      public static SmsMessageBase.TextEncodingDetails calculateLength(CharSequence paramCharSequence, boolean paramBoolean)
      {
        SmsMessageBase.TextEncodingDetails localTextEncodingDetails = GsmAlphabet.countGsmSeptets(paramCharSequence, paramBoolean);
        int i;
        if (localTextEncodingDetails == null)
        {
          localTextEncodingDetails = new SmsMessageBase.TextEncodingDetails();
          i = 2 * paramCharSequence.length();
          localTextEncodingDetails.codeUnitCount = paramCharSequence.length();
          if (i <= 160)
            break label80;
          localTextEncodingDetails.msgCount = ((i + 152) / 153);
        }
        for (localTextEncodingDetails.codeUnitsRemaining = ((153 * localTextEncodingDetails.msgCount - i) / 2); ; localTextEncodingDetails.codeUnitsRemaining = ((160 - i) / 2))
        {
          localTextEncodingDetails.codeUnitSize = 3;
          return localTextEncodingDetails;
          label80: localTextEncodingDetails.msgCount = 1;
        }
      }
    thêm function
    Mã:
      public static boolean getEncodableGsm7bitForSubmitBody(String paramString)
      {
        int i;
        if (SkyMsgConfig.isKTUiccCard())
          i = 128;
        while (true)
        {
          Log.e("SmsMessage", "=== start - getEncodableGsm7bitForSubmitBody===");
          try
          {
            byte[] arrayOfByte = paramString.getBytes("utf-8");
            int j = arrayOfByte.length;
            Log.e("SmsMessage", "getEncodableGsm7bit,getBytes" + j);
            if (j > 0)
              if (!GsmAlphabet.getMatchableCharForGsm(arrayOfByte, j))
              {
                bool2 = false;
                Log.e("SmsMessage", "=== end - getEncodableGsm7bitForSubmitBody :  " + bool2);
                bool1 = bool2;
                return bool1;
                i = 160;
              }
          }
          catch (UnsupportedEncodingException localUnsupportedEncodingException)
          {
            while (true)
            {
              boolean bool2;
              Log.e("SmsMessage", "UnsupportedEncodingException ", localUnsupportedEncodingException);
              boolean bool1 = false;
              continue;
              if (calculateLength(paramString, false).codeUnitCount > i)
              {
                bool2 = false;
              }
              else
              {
                bool2 = true;
                continue;
                bool2 = true;
              }
            }
          }
        }
      }
    
    còn cơ số chỗ nữa ~.~
     
  14. msmobile

    Senior Member

    10/12/12
    11,225
    8,172
    0
    Nam
    Sửa Java để dịch ra smali có khi phải dùng SDK. VN mình nhiều cao thủ thật. Cố gắng ko phải mò sang web tàu down ROM, mà sang đó viết bài cho nó down hehe
     
  15. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    phải sửa kiểu này thật thì đến thua :(
     
  16. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Thưa các cao thủ. File fix này là của china 100%. Ta sửa chút ít nên bug còn lòi ra mỗi khi lấy logcat kể cả send ok. Mail hoặc QQ với các vọc sĩ fix sms người china mà trao đổi thử xem trình họ ra sao. Cho ra cả 1 nắm kiến thức cao siêu = tiếng China google dịch cả tháng chắc chưa hiểu nổi.
     
  17. nhymxu

    nhymxu Đã có lúc tưởng mình là gió ...!!!
    Senior Member

    20/12/12
    490
    768
    0
    Nam
    Sinh viên
    Hà Nội
    hiểu nổi chắc ngồi viết lại cả framework khỏi cần sửa ;)
    bác có acc level cao bên naver không cho em ké với :(
    bên đấy có cái theme cho 414 nhìn ngon ngon
     
    2 people like this.
  18. dokyson

    dokyson Administrator
    Thành viên BQT Administrator

    9/12/12
    18,143
    37,714
    113
    Nam
    Hic vậy mà háo hức tưởng anh em VN chiến đc.
     
    2 people like this.
  19. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Người VN chiến được chứ anh. (bbqhuy, haiaune,...) em đang vật lộn với sms 2.3.4 của sky dòng thâm thấp cố gắng hoàn thành 730 760 770 lên ics thấy khả quan và thắng lợi kha khá. Nôm na hiểu được một tí tẹo.
     
  20. tedofu_katozi

    tedofu_katozi TNT Team
    Senior Member

    10/12/12
    2,108
    5,588
    0
    Nam
    Trồng khoai sắn và nuôi gà
    Nơi con sông Hồng chảy vào đất Việt.
    Đã lọc xong một đống cái mớ code em tung lên rồi nhé. Lấy của ... con khác đấy nha. Các khối nó cùng chức năng xử lí như nhau thì trôi ngay. Cho nên thấy công thức if (i <= 160) break label80; localTextEncodingDetails.msgCount = ((i + 152) / 153); thì biết ngay là từ i<=140 mà ra.
    Gặp trường hợp tính độ dài chặt chẽ kiểu !boolean i>160 và i=>140 như rom 2.3.x thì oải quá.
    utf-8 nghe nói ít sử dụng trong cái này tuy nó là unicode gửi đc chữ như chữ TQ. tuy 8 bit nhưng nên dùng ucs-2
     

Chia sẻ trang này