Loading services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java +21 −4 Original line number Diff line number Diff line Loading @@ -21,11 +21,14 @@ import static android.content.res.Configuration.GRAMMATICAL_GENDER_NOT_SPECIFIED import android.annotation.Nullable; import android.app.IGrammaticalInflectionManager; import android.content.Context; import android.content.pm.PackageManagerInternal; import android.os.Binder; import android.os.IBinder; import android.os.Process; import android.os.SystemProperties; import android.util.Log; import com.android.internal.util.FrameworkStatsLog; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.wm.ActivityTaskManagerInternal; Loading @@ -36,9 +39,10 @@ import com.android.server.wm.ActivityTaskManagerInternal; * <p>This service is API entry point for storing app-specific grammatical inflection. */ public class GrammaticalInflectionService extends SystemService { private final String TAG = "GrammaticalInflection"; private final GrammaticalInflectionBackupHelper mBackupHelper; private final ActivityTaskManagerInternal mActivityTaskManagerInternal; private PackageManagerInternal mPackageManagerInternal; private static final String GRAMMATICAL_INFLECTION_ENABLED = "i18n.grammatical_Inflection.enabled"; Loading @@ -55,6 +59,7 @@ public class GrammaticalInflectionService extends SystemService { public GrammaticalInflectionService(Context context) { super(context); mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class); mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class); mBackupHelper = new GrammaticalInflectionBackupHelper( this, context.getPackageManager()); } Loading Loading @@ -110,13 +115,25 @@ public class GrammaticalInflectionService extends SystemService { protected void setRequestedApplicationGrammaticalGender( String appPackageName, int userId, int gender) { int preValue = getApplicationGrammaticalGender(appPackageName, userId); final ActivityTaskManagerInternal.PackageConfigurationUpdater updater = mActivityTaskManagerInternal.createPackageConfigurationUpdater(appPackageName, userId); if (!SystemProperties.getBoolean(GRAMMATICAL_INFLECTION_ENABLED, true)) { if (preValue != GRAMMATICAL_GENDER_NOT_SPECIFIED) { Log.d(TAG, "Clearing the user's grammatical gender setting"); updater.setGrammaticalGender(GRAMMATICAL_GENDER_NOT_SPECIFIED).commit(); } return; } final ActivityTaskManagerInternal.PackageConfigurationUpdater updater = mActivityTaskManagerInternal.createPackageConfigurationUpdater(appPackageName, userId); final int uid = mPackageManagerInternal.getPackageUid(appPackageName, 0, userId); FrameworkStatsLog.write(FrameworkStatsLog.GRAMMATICAL_INFLECTION_CHANGED, FrameworkStatsLog.APPLICATION_GRAMMATICAL_INFLECTION_CHANGED__SOURCE_ID__OTHERS, uid, gender != GRAMMATICAL_GENDER_NOT_SPECIFIED, preValue != GRAMMATICAL_GENDER_NOT_SPECIFIED); updater.setGrammaticalGender(gender).commit(); } Loading Loading
services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java +21 −4 Original line number Diff line number Diff line Loading @@ -21,11 +21,14 @@ import static android.content.res.Configuration.GRAMMATICAL_GENDER_NOT_SPECIFIED import android.annotation.Nullable; import android.app.IGrammaticalInflectionManager; import android.content.Context; import android.content.pm.PackageManagerInternal; import android.os.Binder; import android.os.IBinder; import android.os.Process; import android.os.SystemProperties; import android.util.Log; import com.android.internal.util.FrameworkStatsLog; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.wm.ActivityTaskManagerInternal; Loading @@ -36,9 +39,10 @@ import com.android.server.wm.ActivityTaskManagerInternal; * <p>This service is API entry point for storing app-specific grammatical inflection. */ public class GrammaticalInflectionService extends SystemService { private final String TAG = "GrammaticalInflection"; private final GrammaticalInflectionBackupHelper mBackupHelper; private final ActivityTaskManagerInternal mActivityTaskManagerInternal; private PackageManagerInternal mPackageManagerInternal; private static final String GRAMMATICAL_INFLECTION_ENABLED = "i18n.grammatical_Inflection.enabled"; Loading @@ -55,6 +59,7 @@ public class GrammaticalInflectionService extends SystemService { public GrammaticalInflectionService(Context context) { super(context); mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class); mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class); mBackupHelper = new GrammaticalInflectionBackupHelper( this, context.getPackageManager()); } Loading Loading @@ -110,13 +115,25 @@ public class GrammaticalInflectionService extends SystemService { protected void setRequestedApplicationGrammaticalGender( String appPackageName, int userId, int gender) { int preValue = getApplicationGrammaticalGender(appPackageName, userId); final ActivityTaskManagerInternal.PackageConfigurationUpdater updater = mActivityTaskManagerInternal.createPackageConfigurationUpdater(appPackageName, userId); if (!SystemProperties.getBoolean(GRAMMATICAL_INFLECTION_ENABLED, true)) { if (preValue != GRAMMATICAL_GENDER_NOT_SPECIFIED) { Log.d(TAG, "Clearing the user's grammatical gender setting"); updater.setGrammaticalGender(GRAMMATICAL_GENDER_NOT_SPECIFIED).commit(); } return; } final ActivityTaskManagerInternal.PackageConfigurationUpdater updater = mActivityTaskManagerInternal.createPackageConfigurationUpdater(appPackageName, userId); final int uid = mPackageManagerInternal.getPackageUid(appPackageName, 0, userId); FrameworkStatsLog.write(FrameworkStatsLog.GRAMMATICAL_INFLECTION_CHANGED, FrameworkStatsLog.APPLICATION_GRAMMATICAL_INFLECTION_CHANGED__SOURCE_ID__OTHERS, uid, gender != GRAMMATICAL_GENDER_NOT_SPECIFIED, preValue != GRAMMATICAL_GENDER_NOT_SPECIFIED); updater.setGrammaticalGender(gender).commit(); } Loading