From d42d2f86e906c68aa5f3bb7091c1875867e2b1e3 Mon Sep 17 00:00:00 2001 From: tom hsu Date: Fri, 26 May 2023 17:59:47 +0800 Subject: [PATCH] [SettingsLib] Use sql to sort subscription info data. Bug: 284306899 Test: Manual test Change-Id: Ia3605bff05ecf8c58986b25f8ee03c5221b18a9b --- .../mobile/dataservice/SubscriptionInfoDao.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/dataservice/SubscriptionInfoDao.java b/packages/SettingsLib/src/com/android/settingslib/mobile/dataservice/SubscriptionInfoDao.java index e835125b9b811..e6b1cfb440fa7 100644 --- a/packages/SettingsLib/src/com/android/settingslib/mobile/dataservice/SubscriptionInfoDao.java +++ b/packages/SettingsLib/src/com/android/settingslib/mobile/dataservice/SubscriptionInfoDao.java @@ -16,14 +16,13 @@ package com.android.settingslib.mobile.dataservice; -import java.util.List; - import androidx.lifecycle.LiveData; import androidx.room.Dao; import androidx.room.Insert; import androidx.room.OnConflictStrategy; import androidx.room.Query; -import androidx.room.Update; + +import java.util.List; @Dao public interface SubscriptionInfoDao { @@ -32,7 +31,9 @@ public interface SubscriptionInfoDao { void insertSubsInfo(SubscriptionInfoEntity... subscriptionInfo); @Query("SELECT * FROM " + DataServiceUtils.SubscriptionInfoData.TABLE_NAME + " ORDER BY " - + DataServiceUtils.SubscriptionInfoData.COLUMN_ID) + + " CASE WHEN " + DataServiceUtils.SubscriptionInfoData.COLUMN_SIM_SLOT_INDEX + + " >= 0 THEN 1 ELSE 2 END , " + + DataServiceUtils.SubscriptionInfoData.COLUMN_SIM_SLOT_INDEX) LiveData> queryAvailableSubInfos(); @Query("SELECT * FROM " + DataServiceUtils.SubscriptionInfoData.TABLE_NAME + " WHERE " @@ -43,7 +44,8 @@ public interface SubscriptionInfoDao { + DataServiceUtils.SubscriptionInfoData.COLUMN_IS_ACTIVE_SUBSCRIPTION_ID + " = :isActiveSubscription" + " AND " + DataServiceUtils.SubscriptionInfoData.COLUMN_IS_SUBSCRIPTION_VISIBLE - + " = :isSubscriptionVisible") + + " = :isSubscriptionVisible" + " ORDER BY " + + DataServiceUtils.SubscriptionInfoData.COLUMN_SIM_SLOT_INDEX) LiveData> queryActiveSubInfos( boolean isActiveSubscription, boolean isSubscriptionVisible);