Skip to content

Commit

Permalink
HwIms: Restore (un)registerForDataRegStateOrRatChanged
Browse files Browse the repository at this point in the history
* The Huawei IMS package for older Android versions (like Android 9) relies on both
  registerForDataRegStateOrRatChanged and unregisterForDataRegStateOrRatChanged without
  requiring a TransportType argument. Google, in their infinite wisdom, introduced this
  additional parameter, altering the method signatures and causing crashes as a result.
  • Loading branch information
R0rt1z2 committed Sep 23, 2024
1 parent f54690d commit e74ac9f
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions smali/com/huawei/ims/HwImsServiceImpl.smali
Original file line number Diff line number Diff line change
Expand Up @@ -4871,15 +4871,19 @@
invoke-direct {p0, v2}, Lcom/huawei/ims/HwImsServiceImpl;->log(Ljava/lang/String;)V

.line 2971
invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
invoke-virtual {v1}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;

move-result-object v2

iget-object v4, p0, Lcom/huawei/ims/HwImsServiceImpl;->mHandler:Landroid/os/Handler;

const/16 v3, 0x1

const/16 v5, 0x3ef

invoke-virtual {v2, v4, v5, v3}, Lcom/android/internal/telephony/ServiceStateTracker;->registerForDataRegStateOrRatChanged(Landroid/os/Handler;ILjava/lang/Object;)V
const/4 v6, 0x0

invoke-virtual {v2, v3, v4, v5, v6}, Lcom/android/internal/telephony/ServiceStateTracker;->registerForDataRegStateOrRatChanged(ILandroid/os/Handler;ILjava/lang/Object;)V

.line 2976
:cond_2
Expand Down Expand Up @@ -6328,3 +6332,16 @@
.line 3285
return-void
.end method

.method private registerForDataRegStateOrRatChanged(I)V
.locals 5
.param p1, "transportType" # I

move-object/from16 v1, p0
iget-object v3, v1, Lcom/android/internal/telephony/ServiceStateTracker;->mHandler:Landroid/os/Handler;

const v4, 0x1
invoke-virtual {v1, v4, v3, p1}, Lcom/android/internal/telephony/ServiceStateTracker;->registerForDataRegStateOrRatChanged(ILandroid/os/Handler;ILjava/lang/Object;)V

return-void
.end method

0 comments on commit e74ac9f

Please sign in to comment.