Пример #1
0
  public static void loadFromSettings(final AppSettings newSettings) {
    profiles.clear();
    stack.clear();

    boolean fromJSON = false;
    final String str = newSettings.tapProfiles;
    if (LengthUtils.isNotEmpty(str)) {
      try {
        final List<TouchProfile> list = fromJSON(str);
        for (final TouchProfile p : list) {
          profiles.put(p.name, p);
        }
      } catch (final Throwable ex) {
        LCTX.e("Error on tap configuration load: ", ex);
      }
      fromJSON = profiles.containsKey(DEFAULT_PROFILE);
    }

    if (!fromJSON) {
      if (LCTX.isDebugEnabled()) {
        LCTX.d("Creating default tap configuration...");
      }
      final TouchProfile def = addProfile(DEFAULT_PROFILE);
      {
        final Region r = def.addRegion(0, 0, 100, 100);
        r.setAction(Touch.DoubleTap, R.id.actions_openOptionsMenu, true);
      }
      {
        final Region r = def.addRegion(0, 0, 100, 10);
        r.setAction(Touch.SingleTap, R.id.actions_verticalConfigScrollUp, true);
      }
      {
        final Region r = def.addRegion(0, 90, 100, 100);
        r.setAction(Touch.SingleTap, R.id.actions_verticalConfigScrollDown, true);
      }

      persist();
    }

    stack.addFirst(profiles.get(DEFAULT_PROFILE));
  }