コード例 #1
0
  private VoiceResultProcessor(Context context) {

    mContext = context;

    // Bin types, litter types and brands all pulled from cloud
    mBrands = new ArrayList<>();
    mLitterTypes = new ArrayList<>();
    mBinTypes = new ArrayList<>();
    populateBrandList();
    populateLitterTypes();
    populateBinTypes();

    ArrayList<LocalEntity> menuCommands = new ArrayList<>();
    LocalEntity brand = new LocalEntity("brand");
    brand.setName(context.getString(R.string.brand_command));
    brand.addSearchTerms(new String[] {"friends", "ground", "run", "front", "round"});
    menuCommands.add(brand);
    LocalEntity litterType = new LocalEntity("type");
    litterType.setName(mContext.getString(R.string.type_command));
    litterType.addSearchTerms(new String[] {"typ", "types", "tight", "tired"});
    menuCommands.add(litterType);
    LocalEntity bin = new LocalEntity("bin");
    bin.addSearchTerms(new String[] {"pin", "binh", "spin", "Ben", "friend", "pen", "fin"});
    menuCommands.add(bin);

    ArrayList<LocalEntity> confirmation = new ArrayList<>();
    LocalEntity confirmationTerms = new LocalEntity("yes");
    confirmationTerms.addSearchTerms(CONFIRMATION_TERMS);
    confirmation.add(confirmationTerms);

    // Populate Search objects for use in logic and UI
    menuSearch = new Search("menu", menuCommands, mContext.getString(R.string.menu_caption));
    binSearch =
        new Search(
            mContext.getString(R.string.bin_command),
            mBinTypes,
            mContext.getString(R.string.bin_caption));
    typeSearch =
        new Search(
            mContext.getString(R.string.type_command),
            mLitterTypes,
            mContext.getString(R.string.type_caption));
    brandSearch =
        new Search(
            mContext.getString(R.string.brand_command),
            mBrands,
            mContext.getString(R.string.brand_caption));
    yesNoSearch =
        new ConfirmationSearch("yesno", confirmation, mContext.getString(R.string.yes_no_caption));

    yesNoSearch.setYesTerms(YES_TERMS);
    yesNoSearch.setNoTerms(NO_TERMS);

    mActionHandler = new ActionHandler();
    mOutingManager = OutingManager.get(context);
  }