/**
   * Register BroadcastReceiver that is unregistered when service is destroyed. This
   * BroadcastReceiver hears on intents with ACTION_PASSPHRASE_CACHE_SERVICE to then timeout
   * specific passphrases in memory.
   */
  private void registerReceiver() {
    if (mIntentReceiver == null) {
      mIntentReceiver =
          new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
              String action = intent.getAction();

              Log.d(Constants.TAG, "PassphraseCacheService: Received broadcast...");

              if (action.equals(BROADCAST_ACTION_PASSPHRASE_CACHE_SERVICE)) {
                long keyId = intent.getLongExtra(EXTRA_KEY_ID, -1);
                removeTimeoutedPassphrase(keyId);
              }

              if (action.equals(Intent.ACTION_SCREEN_OFF)) {
                removeScreenLockPassphrases();
              }
            }
          };

      IntentFilter filter = new IntentFilter();
      filter.addAction(BROADCAST_ACTION_PASSPHRASE_CACHE_SERVICE);
      filter.addAction(Intent.ACTION_SCREEN_OFF);
      registerReceiver(mIntentReceiver, filter);
    }
  }
  @Override
  public void onCreate() {
    super.onCreate();
    mContext = this;
    Log.d(Constants.TAG, "PassphraseCacheService, onCreate()");

    registerReceiver();
  }