1 .class public Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;
2 .super Lcom/android/internal/telephony/IccSmsInterfaceManager;
3 .source "SimSmsInterfaceManager.java"
7 .annotation system Ldalvik/annotation/MemberClasses;
9 Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
15 .field static final DBG:Z = true
17 .field private static final EVENT_LOAD_DONE:I = 0x1
19 .field private static final EVENT_SET_BROADCAST_ACTIVATION_DONE:I = 0x3
21 .field private static final EVENT_SET_BROADCAST_CONFIG_DONE:I = 0x4
23 .field private static final EVENT_UPDATE_DONE:I = 0x2
25 .field static final LOG_TAG:Ljava/lang/String; = "GSM"
27 .field private static final SMS_CB_CODE_SCHEME_MAX:I = 0xff
29 .field private static final SMS_CB_CODE_SCHEME_MIN:I
33 .field private mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
35 .field private mCellBroadcastSubscriptions:Ljava/util/HashMap;
36 .annotation system Ldalvik/annotation/Signature;
40 "Ljava/lang/Integer;",
49 .field mHandler:Landroid/os/Handler;
51 .field private final mLock:Ljava/lang/Object;
53 .field private mSms:Ljava/util/List;
54 .annotation system Ldalvik/annotation/Signature;
58 "Lcom/android/internal/telephony/SmsRawData;",
64 .field private mSuccess:Z
68 .method public constructor <init>(Lcom/android/internal/telephony/gsm/GSMPhone;Lcom/android/internal/telephony/SMSDispatcher;)V
71 invoke-direct {p0, p1}, Lcom/android/internal/telephony/IccSmsInterfaceManager;-><init>(Lcom/android/internal/telephony/PhoneBase;)V
73 new-instance v0, Ljava/lang/Object;
75 invoke-direct {v0}, Ljava/lang/Object;-><init>()V
77 iput-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
79 new-instance v0, Ljava/util/HashMap;
81 invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
83 iput-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastSubscriptions:Ljava/util/HashMap;
85 new-instance v0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
87 invoke-direct {v0, p0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;-><init>(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;)V
89 iput-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
91 new-instance v0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$1;
93 invoke-direct {v0, p0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$1;-><init>(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;)V
95 iput-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
97 iput-object p2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mDispatcher:Lcom/android/internal/telephony/SMSDispatcher;
102 .method static synthetic access$000(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;)Ljava/lang/Object;
105 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
110 .method static synthetic access$102(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;Z)Z
113 iput-boolean p1, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
118 .method static synthetic access$200(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;)Ljava/util/List;
121 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSms:Ljava/util/List;
126 .method static synthetic access$202(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;Ljava/util/List;)Ljava/util/List;
129 iput-object p1, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSms:Ljava/util/List;
134 .method static synthetic access$300(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;Ljava/util/ArrayList;)Ljava/util/ArrayList;
137 invoke-virtual {p0, p1}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->buildValidRawData(Ljava/util/ArrayList;)Ljava/util/ArrayList;
139 move-result-object v0
144 .method static synthetic access$400(Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;[Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
147 invoke-direct {p0, p1}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->setCellBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
154 .method private setCellBroadcastActivation(Z)Z
157 new-instance v2, Ljava/lang/StringBuilder;
159 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
161 const-string v3, "Calling setCellBroadcastActivation("
163 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
165 move-result-object v2
167 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
169 move-result-object v2
173 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
175 move-result-object v2
177 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
179 move-result-object v2
181 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
183 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
188 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
192 invoke-virtual {v2, v4}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
194 move-result-object v1
198 iput-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
200 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
202 iget-object v2, v2, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
204 invoke-interface {v2, p1, v1}, Lcom/android/internal/telephony/CommandsInterface;->setGsmBroadcastActivation(ZLandroid/os/Message;)V
206 .catchall {:try_start_1f .. :try_end_30} :catchall_40
209 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
211 invoke-virtual {v2}, Ljava/lang/Object;->wait()V
213 .catchall {:try_start_30 .. :try_end_35} :catchall_40
214 .catch Ljava/lang/InterruptedException; {:try_start_30 .. :try_end_35} :catch_39
220 .catchall {:try_start_35 .. :try_end_36} :catchall_40
222 iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
230 const-string v2, "interrupted while trying to set cell broadcast activation"
232 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
241 .catchall {:try_start_3a .. :try_end_42} :catchall_40
246 .method private setCellBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
249 new-instance v2, Ljava/lang/StringBuilder;
251 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
253 const-string v3, "Calling setGsmBroadcastConfig with "
255 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
257 move-result-object v2
261 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
263 move-result-object v2
265 const-string v3, " configurations"
267 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
269 move-result-object v2
271 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
273 move-result-object v2
275 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
277 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
282 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
286 invoke-virtual {v2, v4}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
288 move-result-object v1
292 iput-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
294 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
296 iget-object v2, v2, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
298 invoke-interface {v2, p1, v1}, Lcom/android/internal/telephony/CommandsInterface;->setGsmBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;Landroid/os/Message;)V
300 .catchall {:try_start_20 .. :try_end_31} :catchall_41
303 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
305 invoke-virtual {v2}, Ljava/lang/Object;->wait()V
307 .catchall {:try_start_31 .. :try_end_36} :catchall_41
308 .catch Ljava/lang/InterruptedException; {:try_start_31 .. :try_end_36} :catch_3a
314 .catchall {:try_start_36 .. :try_end_37} :catchall_41
316 iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
324 const-string v2, "interrupted while trying to set cell broadcast config"
326 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
335 .catchall {:try_start_3b .. :try_end_43} :catchall_41
342 .method public copyMessageToIccEf(I[B[B)Z
345 new-instance v2, Ljava/lang/StringBuilder;
347 invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
349 const-string v3, "copyMessageToIccEf: status="
351 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
353 move-result-object v2
355 invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
357 move-result-object v2
359 const-string v3, " ==> "
361 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
363 move-result-object v2
365 const-string v3, "pdu=("
367 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
369 move-result-object v2
371 invoke-static {p2}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
373 move-result-object v3
375 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
377 move-result-object v2
379 const-string v3, "), smsm=("
381 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
383 move-result-object v2
385 invoke-static {p3}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
387 move-result-object v3
389 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
391 move-result-object v2
395 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
397 move-result-object v2
399 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
401 move-result-object v2
403 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
405 const-string v2, "Copying message to SIM"
407 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
409 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
416 iput-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
418 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
422 invoke-virtual {v2, v4}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
424 move-result-object v1
426 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
428 iget-object v2, v2, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
430 invoke-static {p3}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String;
432 move-result-object v4
434 invoke-static {p2}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String;
436 move-result-object v5
438 invoke-interface {v2, p1, v4, v5, v1}, Lcom/android/internal/telephony/CommandsInterface;->writeSmsToSim(ILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
440 .catchall {:try_start_47 .. :try_end_5f} :catchall_6f
443 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
445 invoke-virtual {v2}, Ljava/lang/Object;->wait()V
447 .catchall {:try_start_5f .. :try_end_64} :catchall_6f
448 .catch Ljava/lang/InterruptedException; {:try_start_5f .. :try_end_64} :catch_68
454 .catchall {:try_start_64 .. :try_end_65} :catchall_6f
456 iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
464 const-string v2, "interrupted while trying to update by index"
466 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
475 .catchall {:try_start_69 .. :try_end_71} :catchall_6f
480 .method public disableCellBroadcast(I)Z
483 invoke-virtual {p0, p1, p1}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->disableCellBroadcastRange(II)Z
490 .method public disableCellBroadcastRange(II)Z
497 const-string v4, "disableCellBroadcastRange"
499 invoke-virtual {p0, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
501 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
503 invoke-virtual {v4}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;
505 move-result-object v1
507 const-string v4, "android.permission.RECEIVE_SMS"
509 const-string v5, "Disabling cell broadcast SMS"
511 invoke-virtual {v1, v4, v5}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
513 invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
515 move-result-object v4
517 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
521 invoke-virtual {v4, v5}, Landroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String;
523 move-result-object v0
525 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
527 invoke-virtual {v4, p1, p2, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;->disableRange(IILjava/lang/String;)Z
533 new-instance v3, Ljava/lang/StringBuilder;
535 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
537 const-string v4, "Failed to remove cell broadcast subscription for MID range "
539 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
541 move-result-object v3
543 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
545 move-result-object v3
547 const-string v4, " to "
549 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
551 move-result-object v3
553 invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
555 move-result-object v3
557 const-string v4, " from client "
559 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
561 move-result-object v3
563 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
565 move-result-object v3
567 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
569 move-result-object v3
571 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
577 new-instance v4, Ljava/lang/StringBuilder;
579 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
581 const-string v5, "Removed cell broadcast subscription for MID range "
583 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
585 move-result-object v4
587 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
589 move-result-object v4
591 const-string v5, " to "
593 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
595 move-result-object v4
597 invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
599 move-result-object v4
601 const-string v5, " from client "
603 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
605 move-result-object v4
607 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
609 move-result-object v4
611 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
613 move-result-object v4
615 invoke-virtual {p0, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
617 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
619 invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;->isEmpty()Z
628 invoke-direct {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->setCellBroadcastActivation(Z)Z
635 .method public dispose()V
641 .method public enableCellBroadcast(I)Z
644 invoke-virtual {p0, p1, p1}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->enableCellBroadcastRange(II)Z
651 .method public enableCellBroadcastRange(II)Z
658 const-string v4, "enableCellBroadcastRange"
660 invoke-virtual {p0, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
662 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
664 invoke-virtual {v4}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;
666 move-result-object v1
668 const-string v4, "android.permission.RECEIVE_SMS"
670 const-string v5, "Enabling cell broadcast SMS"
672 invoke-virtual {v1, v4, v5}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
674 invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
676 move-result-object v4
678 invoke-static {}, Landroid/os/Binder;->getCallingUid()I
682 invoke-virtual {v4, v5}, Landroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String;
684 move-result-object v0
686 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
688 invoke-virtual {v4, p1, p2, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;->enableRange(IILjava/lang/String;)Z
694 new-instance v3, Ljava/lang/StringBuilder;
696 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
698 const-string v4, "Failed to add cell broadcast subscription for MID range "
700 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
702 move-result-object v3
704 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
706 move-result-object v3
708 const-string v4, " to "
710 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
712 move-result-object v3
714 invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
716 move-result-object v3
718 const-string v4, " from client "
720 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
722 move-result-object v3
724 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
726 move-result-object v3
728 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
730 move-result-object v3
732 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
738 new-instance v4, Ljava/lang/StringBuilder;
740 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
742 const-string v5, "Added cell broadcast subscription for MID range "
744 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
746 move-result-object v4
748 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
750 move-result-object v4
752 const-string v5, " to "
754 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
756 move-result-object v4
758 invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
760 move-result-object v4
762 const-string v5, " from client "
764 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
766 move-result-object v4
768 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
770 move-result-object v4
772 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
774 move-result-object v4
776 invoke-virtual {p0, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
778 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;
780 invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager$CellBroadcastRangeManager;->isEmpty()Z
789 invoke-direct {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->setCellBroadcastActivation(Z)Z
796 .method protected finalize()V
800 invoke-super {p0}, Lcom/android/internal/telephony/IccSmsInterfaceManager;->finalize()V
802 .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_3} :catch_b
805 const-string v1, "GSM"
807 const-string v2, "SimSmsInterfaceManager finalized"
809 invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
816 const-string v1, "GSM"
818 const-string v2, "Error while finalizing:"
820 invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
825 .method public getAllMessagesFromIccEf()Ljava/util/List;
827 .annotation system Ldalvik/annotation/Signature;
832 "Lcom/android/internal/telephony/SmsRawData;",
837 const-string v3, "getAllMessagesFromEF"
839 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
841 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
843 invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;
845 move-result-object v0
847 const-string v3, "android.permission.RECEIVE_SMS"
849 const-string v4, "Reading messages from SIM"
851 invoke-virtual {v0, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
853 iget-object v4, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
858 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
862 invoke-virtual {v3, v5}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
864 move-result-object v2
866 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
868 invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getIccFileHandler()Lcom/android/internal/telephony/IccFileHandler;
870 move-result-object v3
874 invoke-virtual {v3, v5, v2}, Lcom/android/internal/telephony/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
876 .catchall {:try_start_15 .. :try_end_27} :catchall_37
879 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
881 invoke-virtual {v3}, Ljava/lang/Object;->wait()V
883 .catchall {:try_start_27 .. :try_end_2c} :catchall_37
884 .catch Ljava/lang/InterruptedException; {:try_start_27 .. :try_end_2c} :catch_30
890 .catchall {:try_start_2c .. :try_end_2d} :catchall_37
892 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSms:Ljava/util/List;
900 const-string v3, "interrupted while trying to load from the SIM"
902 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
911 .catchall {:try_start_31 .. :try_end_39} :catchall_37
916 .method protected log(Ljava/lang/String;)V
919 const-string v0, "GSM"
921 new-instance v1, Ljava/lang/StringBuilder;
923 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
925 const-string v2, "[SimSmsInterfaceManager] "
927 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
929 move-result-object v1
931 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
933 move-result-object v1
935 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
937 move-result-object v1
939 invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
944 .method public updateMessageOnIccEf(II[B)Z
947 new-instance v0, Ljava/lang/StringBuilder;
949 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
951 const-string v1, "updateMessageOnIccEf: index="
953 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
955 move-result-object v0
957 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
959 move-result-object v0
961 const-string v1, " status="
963 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
965 move-result-object v0
967 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
969 move-result-object v0
971 const-string v1, " ==> "
973 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
975 move-result-object v0
979 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
981 move-result-object v0
983 invoke-static {p3}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
985 move-result-object v1
987 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
989 move-result-object v0
993 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
995 move-result-object v0
997 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
999 move-result-object v0
1001 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
1003 const-string v0, "Updating message on SIM"
1005 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
1007 iget-object v7, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
1014 iput-boolean v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
1016 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
1020 invoke-virtual {v0, v1}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
1022 move-result-object v5
1026 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
1028 iget-object v0, v0, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
1030 invoke-interface {v0, p1, v5}, Lcom/android/internal/telephony/CommandsInterface;->deleteSmsOnSim(ILandroid/os/Message;)V
1032 .catchall {:try_start_43 .. :try_end_55} :catchall_70
1036 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
1038 invoke-virtual {v0}, Ljava/lang/Object;->wait()V
1040 .catchall {:try_start_55 .. :try_end_5a} :catchall_70
1041 .catch Ljava/lang/InterruptedException; {:try_start_55 .. :try_end_5a} :catch_73
1047 .catchall {:try_start_5a .. :try_end_5b} :catchall_70
1049 iget-boolean v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
1055 invoke-virtual {p0, p2, p3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->makeSmsRecordData(I[B)[B
1057 move-result-object v3
1059 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
1061 invoke-virtual {v0}, Lcom/android/internal/telephony/PhoneBase;->getIccFileHandler()Lcom/android/internal/telephony/IccFileHandler;
1063 move-result-object v0
1071 invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
1080 .catchall {:try_start_5e .. :try_end_72} :catchall_70
1088 const-string v0, "interrupted while trying to update by index"
1090 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
1092 .catchall {:try_start_74 .. :try_end_79} :catchall_70