diff options
3 files changed, 22 insertions, 19 deletions
diff --git a/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java b/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java index bf641d72eab1..1aeb76a396b4 100644 --- a/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java +++ b/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java @@ -28,7 +28,6 @@ import android.content.res.XmlResourceParser; import android.text.TextUtils; import android.util.ArraySet; import android.util.AttributeSet; -import android.util.Log; import android.util.Slog; import android.util.Xml; @@ -231,15 +230,7 @@ public class KeyphraseEnrollmentInfo { com.android.internal.R.styleable.VoiceEnrollmentApplication); keyphraseMetadata = getKeyphraseFromTypedArray(array, packageName, parseErrors); array.recycle(); - } catch (XmlPullParserException e) { - String error = "Error parsing keyphrase enrollment meta-data for " + packageName; - parseErrors.add(error + ": " + e); - Slog.w(TAG, error, e); - } catch (IOException e) { - String error = "Error parsing keyphrase enrollment meta-data for " + packageName; - parseErrors.add(error + ": " + e); - Slog.w(TAG, error, e); - } catch (PackageManager.NameNotFoundException e) { + } catch (XmlPullParserException | PackageManager.NameNotFoundException | IOException e) { String error = "Error parsing keyphrase enrollment meta-data for " + packageName; parseErrors.add(error + ": " + e); Slog.w(TAG, error, e); @@ -390,7 +381,6 @@ public class KeyphraseEnrollmentInfo { * False if not. */ public boolean isUidSupportedEnrollmentApplication(int uid) { - Log.d(TAG, "isUidSupportedEnrollmentApplication: " + toString()); return mEnrollmentApplicationUids.contains(uid); } diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index 0b24dd2fe15a..0eba07b118b5 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -41,6 +41,7 @@ import android.content.pm.UserInfo; import android.content.res.Resources; import android.database.ContentObserver; import android.hardware.soundtrigger.IRecognitionStatusCallback; +import android.hardware.soundtrigger.KeyphraseEnrollmentInfo; import android.hardware.soundtrigger.KeyphraseMetadata; import android.hardware.soundtrigger.ModelParams; import android.hardware.soundtrigger.SoundTrigger; @@ -223,6 +224,7 @@ public class VoiceInteractionManagerService extends SystemService { class VoiceInteractionManagerServiceStub extends IVoiceInteractionManagerService.Stub { VoiceInteractionManagerServiceImpl mImpl; + KeyphraseEnrollmentInfo mEnrollmentApplicationInfo; private boolean mSafeMode; private int mCurUser; @@ -447,6 +449,15 @@ public class VoiceInteractionManagerService extends SystemService { } } + private void getOrCreateEnrollmentApplicationInfo() { + synchronized (this) { + if (mEnrollmentApplicationInfo == null) { + mEnrollmentApplicationInfo = new KeyphraseEnrollmentInfo( + mContext.getPackageManager()); + } + } + } + private void setCurrentUserLocked(@UserIdInt int userHandle) { mCurUser = userHandle; final UserInfo userInfo = mUserManagerInternal.getUserInfo(mCurUser); @@ -1380,12 +1391,17 @@ public class VoiceInteractionManagerService extends SystemService { pw.println(" mCurUserUnlocked: " + mCurUserUnlocked); pw.println(" mCurUserSupported: " + mCurUserSupported); dumpSupportedUsers(pw, " "); + if (mEnrollmentApplicationInfo == null) { + pw.println(" (No enrollment application info)"); + } else { + pw.println(" " + mEnrollmentApplicationInfo.toString()); + } mDbHelper.dump(pw); if (mImpl == null) { pw.println(" (No active implementation)"); - return; + } else { + mImpl.dumpLocked(fd, pw, args); } - mImpl.dumpLocked(fd, pw, args); } mSoundTriggerInternal.dump(fd, pw, args); } @@ -1438,8 +1454,9 @@ public class VoiceInteractionManagerService extends SystemService { } private boolean isCallerTrustedEnrollmentApplication() { - return mImpl.mEnrollmentApplicationInfo.isUidSupportedEnrollmentApplication( - Binder.getCallingUid()); + getOrCreateEnrollmentApplicationInfo(); + return mEnrollmentApplicationInfo.isUidSupportedEnrollmentApplication( + Binder.getCallingUid()); } private void setImplLocked(VoiceInteractionManagerServiceImpl impl) { diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java index b813f87f335f..a62b03ca82e4 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java @@ -36,7 +36,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.pm.PackageManager; -import android.hardware.soundtrigger.KeyphraseEnrollmentInfo; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -79,7 +78,6 @@ class VoiceInteractionManagerServiceImpl implements VoiceInteractionSessionConne final IActivityManager mAm; final IActivityTaskManager mAtm; final VoiceInteractionServiceInfo mInfo; - final KeyphraseEnrollmentInfo mEnrollmentApplicationInfo; final ComponentName mSessionComponentName; final IWindowManager mIWindowManager; boolean mBound = false; @@ -135,7 +133,6 @@ class VoiceInteractionManagerServiceImpl implements VoiceInteractionSessionConne mComponent = service; mAm = ActivityManager.getService(); mAtm = ActivityTaskManager.getService(); - mEnrollmentApplicationInfo = new KeyphraseEnrollmentInfo(context.getPackageManager()); VoiceInteractionServiceInfo info; try { info = new VoiceInteractionServiceInfo(context.getPackageManager(), service, mUser); @@ -406,7 +403,6 @@ class VoiceInteractionManagerServiceImpl implements VoiceInteractionSessionConne pw.println(" Active session:"); mActiveSession.dump(" ", pw); } - pw.println(" " + mEnrollmentApplicationInfo.toString()); } void startLocked() { |