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); }
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); } } }