Search in sources :

Example 11 with RTeam

use of com.cpjd.roblu.models.RTeam in project Roblu by wdavies973.

the class IO method loadTeams.

/**
 * Loads all the teams contained within an event
 * @param eventID the eventID to load all the teams from
 * @return an RTeam object instance array
 */
public RTeam[] loadTeams(int eventID) {
    File[] files = getChildFiles(new File(context.getFilesDir(), PREFIX + File.separator + "events" + File.separator + eventID + File.separator + "teams" + File.separator));
    if (files == null || files.length == 0)
        return null;
    RTeam[] teams = new RTeam[files.length];
    for (int i = 0; i < teams.length; i++) {
        teams[i] = loadTeam(eventID, Integer.parseInt(files[i].getName().replace(".ser", "")));
    }
    return teams;
}
Also used : RTeam(com.cpjd.roblu.models.RTeam) File(java.io.File)

Example 12 with RTeam

use of com.cpjd.roblu.models.RTeam in project Roblu by wdavies973.

the class IO method createPreview.

/*
     * Preview event methods
     *
     * Simplifies preview code by just creating and temporary event for viewing a form
     */
public void createPreview(RForm form) {
    REvent event = new REvent(-1, "Preview event");
    RTeam team = new RTeam("Previewing form", 0, -1);
    team.setPage(-1);
    team.verify(form);
    saveEvent(event);
    saveTeam(event.getID(), team);
    saveForm(event.getID(), form);
}
Also used : RTeam(com.cpjd.roblu.models.RTeam) REvent(com.cpjd.roblu.models.REvent)

Example 13 with RTeam

use of com.cpjd.roblu.models.RTeam in project Roblu by wdavies973.

the class TeamsRecyclerTouchHelper method onSwiped.

/**
 * This method is called when a card is swiped, in this case, the only swipe direction is for the team
 * delete swipe
 * @param viewHolder the viewHolder that was swiped
 * @param direction the direction the card was swiped in
 */
@Override
public void onSwiped(final RecyclerView.ViewHolder viewHolder, int direction) {
    /*
         * User wants to delete a team, let's confirm it with them
         */
    if (direction == ItemTouchHelper.LEFT) {
        final RTeam team = teamsAdapter.getTeams().get(viewHolder.getAdapterPosition());
        new FastDialogBuilder().setTitle("Are you sure?").setMessage("Are you sure you want to delete team " + team.getName() + "?").setPositiveButtonText("Delete").setNegativeButtonText("Cancel").setFastDialogListener(new FastDialogBuilder.FastDialogListener() {

            @Override
            public void accepted() {
                teamsAdapter.remove(viewHolder.getAdapterPosition());
                teamsAdapter.notifyDataSetChanged();
                /*
                             * Also, we need to tell TeamsView that the LoadTeamsTask now contains an invalid internal teams array and must
                             * refresh it from the local disk
                             */
                teamsAdapter.getListener().teamDeleted(team);
            }

            @Override
            public void denied() {
                teamsAdapter.reAdd(team);
            }

            @Override
            public void neutral() {
            }
        }).build(teamsAdapter.getContext());
    }
}
Also used : FastDialogBuilder(com.cpjd.roblu.ui.dialogs.FastDialogBuilder) RTeam(com.cpjd.roblu.models.RTeam)

Example 14 with RTeam

use of com.cpjd.roblu.models.RTeam in project Roblu by wdavies973.

the class TeamsView method teamSelected.

@Override
public void teamSelected(View v) {
    RTeam team = adapter.getTeams().get(rv.getChildLayoutPosition(v));
    Intent startView = new Intent(this, TeamViewer.class);
    startView.putExtra("teamID", team.getID());
    startView.putExtra("eventID", eventDrawerManager.getEvent().getID());
    startView.putExtra("editable", true);
    startActivityForResult(startView, Constants.GENERAL);
}
Also used : RTeam(com.cpjd.roblu.models.RTeam) Intent(android.content.Intent)

Example 15 with RTeam

use of com.cpjd.roblu.models.RTeam in project Roblu by wdavies973.

the class TeamsView method onActivityResult.

/**
 * Receives data from activities originally launched from this class
 * @param requestCode the request code the original activity was launched with
 * @param resultCode the result code return from the launched activity
 * @param data any payload data received from the launched activity
 */
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Constants.CUSTOM_SORT_CONFIRMED) {
        // the user selected a custom sort token, retrieve it and sort
        lastCustomSortToken = data.getStringExtra("sortToken");
        lastFilter = SORT_TYPE.CUSTOM_SORT;
        executeLoadTeamsTask(lastFilter, false);
        ignoreOnResumeOnce = true;
    } else if (Constants.MASTER_FORM == requestCode && resultCode == Constants.FORM_CONFIRMED) {
        // the user edited the master form, retrieve it and save it
        Bundle b = data.getExtras();
        if (b != null) {
            settings.setMaster((RForm) b.getSerializable("form"));
        }
        io.saveSettings(settings);
    } else /*
         * This must occur BEFORE the straight up NEW_EVENT_CREATED return.
         * This will be called after the user does a TBA sync
         */
    if (requestCode == Constants.EVENT_SETTINGS_REQUEST && resultCode == Constants.NEW_EVENT_CREATED) {
        executeLoadTeamsTask(lastFilter, true);
    } else if (resultCode == Constants.NEW_EVENT_CREATED) {
        // The user created an event, let's get the ID and select it
        Bundle d = data.getExtras();
        eventDrawerManager.loadEventsToDrawer();
        eventDrawerManager.selectEvent(d != null ? d.getInt("eventID") : 0);
    } else if (resultCode == Constants.MY_MATCHES_EXITED) {
        executeLoadTeamsTask(lastFilter, true);
    } else if (resultCode == Constants.CUSTOM_SORT_CANCELLED) {
        // user exited custom sort, don't make the button in the filter dialog still display custom sort
        lastFilter = settings.getLastFilter();
    } else if (resultCode == Constants.TEAM_EDITED) {
        // the user edited a team, let's toss it in the teams array and reload it also
        if (eventDrawerManager.getEvent() == null)
            return;
        RTeam temp = io.loadTeam(eventDrawerManager.getEvent().getID(), data.getIntExtra("teamID", 0));
        // Reload the teams array
        for (int i = 0; i < teams.size(); i++) {
            if (teams.get(i).getID() == temp.getID()) {
                teams.set(i, temp);
                break;
            }
        }
        // Reload the edited team into the adapter
        adapter.reAdd(temp);
        if (lastQuery != null && !lastQuery.equals(""))
            executeLoadTeamsTask(SORT_TYPE.SEARCH, false);
        else
            executeLoadTeamsTask(lastFilter, false);
        ignoreOnResumeOnce = true;
    } else if (resultCode == Constants.EVENT_SETTINGS_CHANGED) {
        // user edited the event
        int eventID = data.getIntExtra("eventID", 0);
        eventDrawerManager.loadEventsToDrawer();
        eventDrawerManager.selectEvent(eventID);
        if (getSupportActionBar() != null)
            getSupportActionBar().setSubtitle(eventDrawerManager.getEvent().getName());
        executeLoadTeamsTask(lastFilter, true);
    } else if (resultCode == Constants.SETTINGS_CHANGED) {
        // user changed application settings (refresh UI to make sure it matches a possible RUI change)
        // reload settings
        settings = new IO(getApplicationContext()).loadSettings();
        eventDrawerManager.loadEventsToDrawer();
        if (eventDrawerManager.getEvent() != null)
            eventDrawerManager.selectEvent(eventDrawerManager.getEvent().getID());
    // new UIHandler(this, toolbar).update();
    // eventDrawerManager = new EventDrawerManager(this, toolbar, this);
    }
}
Also used : RForm(com.cpjd.roblu.models.RForm) RTeam(com.cpjd.roblu.models.RTeam) Bundle(android.os.Bundle) IO(com.cpjd.roblu.io.IO)

Aggregations

RTeam (com.cpjd.roblu.models.RTeam)25 RTab (com.cpjd.roblu.models.RTab)13 IO (com.cpjd.roblu.io.IO)10 RMetric (com.cpjd.roblu.models.metrics.RMetric)10 ArrayList (java.util.ArrayList)10 RForm (com.cpjd.roblu.models.RForm)9 RCheckout (com.cpjd.roblu.models.RCheckout)8 RGallery (com.cpjd.roblu.models.metrics.RGallery)6 REvent (com.cpjd.roblu.models.REvent)5 Bundle (android.os.Bundle)4 RFieldData (com.cpjd.roblu.models.metrics.RFieldData)4 Intent (android.content.Intent)3 RCounter (com.cpjd.roblu.models.metrics.RCounter)3 RStopwatch (com.cpjd.roblu.models.metrics.RStopwatch)3 IOException (java.io.IOException)3 LinkedHashMap (java.util.LinkedHashMap)3 StrictMode (android.os.StrictMode)2 View (android.view.View)2 TextView (android.widget.TextView)2 Request (com.cpjd.http.Request)2