Exemplo n.º 1
0
  private void restore(Context context, Object receiver, Field field) {
    Bundle bundle = mSavedStateBundles.get(context);
    if (bundle == null) return;

    Object value = bundle.get(key(receiver, field));
    if (value == null) return;

    InjectorUtils.setField(receiver, field, value);
  }
Exemplo n.º 2
0
  public void registerSavedStateBundle(Context context, Bundle bundle) {
    synchronized (this) {
      mSavedStateBundles.put(context, bundle);
      List<State> list = mSaveStates.get(context);
      if (list == null) return;

      for (State state : list) {
        Object value = bundle.get(key(state.receiver, state.field));
        if (value == null && state.field.getType().isPrimitive()) continue;

        InjectorUtils.setField(state.receiver, state.field, value);
      }
    }
  }