Search in sources :

Example 1 with Parent

use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.

the class BaseParentActivity method handleError.

public void handleError(int code, String error) {
    if (code == 418) {
        // Parse the message from the response body
        Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonElement mJson = parser.parse(error);
        RevokedTokenResponse revokedTokenResponse = gson.fromJson(mJson, RevokedTokenResponse.class);
        showRevokedTokenDialog(revokedTokenResponse, this);
    }
    if (code == 403) {
        // Parse the message from the response body
        Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonElement mJson = parser.parse(error);
        BlockedStudentResponse blockedStudentResponse = gson.fromJson(mJson, BlockedStudentResponse.class);
        if (blockedStudentResponse.code.equals("studentBlocked")) {
            Prefs prefs = new Prefs(this, getString(R.string.app_name_parent));
            String parentId = prefs.load(Const.ID, "");
            // We want to refresh cache so the main activity can load quickly with accurate information
            UserManager.getStudentsForParentAirwolf(ApiPrefs.getAirwolfDomain(), parentId, new StatusCallback<List<Student>>() {

                @Override
                public void onResponse(@NonNull Response<List<Student>> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
                    if (response.body() != null && !response.body().isEmpty()) {
                        // They have students that they are observing, take them to that activity
                        startActivity(StudentViewActivity.createIntent(BaseParentActivity.this, response.body()));
                        overridePendingTransition(0, 0);
                        finish();
                    } else {
                        // Take the parent to the add user page.
                        FindSchoolActivity.Companion.createIntent(BaseParentActivity.this, true);
                        finish();
                    }
                }
            });
        }
    }
    if (code == 451) {
        // Parse the message from the response body
        Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonElement mJson = parser.parse(error);
        MismatchedRegionResponse mismatchedRegionResponse = gson.fromJson(mJson, MismatchedRegionResponse.class);
        showMismatchedRegionDialog(mismatchedRegionResponse.getStudentRegion(), this);
    }
}
Also used : BlockedStudentResponse(com.instructure.canvasapi2.models.BlockedStudentResponse) LinkHeaders(com.instructure.canvasapi2.utils.LinkHeaders) Gson(com.google.gson.Gson) Prefs(com.instructure.pandautils.utils.Prefs) ApiPrefs(com.instructure.canvasapi2.utils.ApiPrefs) MismatchedRegionResponse(com.instructure.canvasapi2.models.MismatchedRegionResponse) RevokedTokenResponse(com.instructure.canvasapi2.models.RevokedTokenResponse) JsonElement(com.google.gson.JsonElement) ApiType(com.instructure.canvasapi2.utils.ApiType) List(java.util.List) JsonParser(com.google.gson.JsonParser)

Example 2 with Parent

use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.

the class HelpActivity method setupViews.

private void setupViews() {
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setNavigationIcon(R.drawable.ic_close_white);
    toolbar.setNavigationContentDescription(R.string.close);
    toolbar.setTitle(R.string.help);
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
        }
    });
    // Will be empty for observers, still used for cached email for airwolf parent accounts
    Prefs prefs = new Prefs(HelpActivity.this, com.instructure.parentapp.util.Const.CANVAS_PARENT_SP);
    mEmailAddress = prefs.load(Const.NAME, "");
    mSearchGuides = (LinearLayout) findViewById(R.id.search_guides);
    mReportProblem = (LinearLayout) findViewById(R.id.report_problem);
    mRequestFeature = (LinearLayout) findViewById(R.id.request_feature);
    mShowLove = (LinearLayout) findViewById(R.id.share_love);
    mOpenSource = (LinearLayout) findViewById(R.id.open_source);
}
Also used : Prefs(com.instructure.pandautils.utils.Prefs) ApiPrefs(com.instructure.canvasapi2.utils.ApiPrefs) View(android.view.View) Toolbar(android.support.v7.widget.Toolbar)

Example 3 with Parent

use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.

the class StudentViewActivity method onPause.

@Override
protected void onPause() {
    super.onPause();
    // save the position so when the parent comes back to this page it will load the student they were on last
    Prefs prefs = new Prefs(this, com.instructure.parentapp.util.Const.CANVAS_PARENT_SP);
    prefs.save(Const.POSITION, mCarouselViewPager.getCurrentItem());
    prefs.save(Const.TAB, mTabLayout.getSelectedTabPosition());
}
Also used : ApiPrefs(com.instructure.canvasapi2.utils.ApiPrefs) Prefs(com.instructure.pandautils.utils.Prefs)

Example 4 with Parent

use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.

the class PublishPollActivity method setupCourseSpinner.

// /////////////////////////////////////////////////////////////////////////
// Helpers
// /////////////////////////////////////////////////////////////////////////
private void setupCourseSpinner(List<Course> courseList) {
    // We only want courses we're a teacher for if we're trying to publish a poll
    Iterator<Course> iterator = courseList.iterator();
    while (iterator.hasNext()) {
        if (!iterator.next().isTeacher()) {
            iterator.remove();
        }
    }
    if (courseList.size() == 0 || !courseList.get(0).getName().equals(getString(R.string.selectCourse))) {
        Course selectCourse = new Course();
        selectCourse.setId(Long.MIN_VALUE);
        selectCourse.setName(getString(R.string.selectCourse));
        courseList.add(0, selectCourse);
    }
    courseAdapter = new CourseSpinnerAdapter(this, android.R.layout.simple_spinner_dropdown_item, courseList);
    coursesSpinner.setAdapter(courseAdapter);
    coursesSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Course course = (Course) parent.getAdapter().getItem(position);
            // Handle the loading cell.
            if (course == null || course.getEnrollments() == null) {
                return;
            }
            if (!isCourseTermActive(course)) {
                AppMsg.makeText(PublishPollActivity.this, getString(R.string.courseTermInactive), AppMsg.STYLE_WARNING).show();
                return;
            }
            currentCourse = course;
            // unselect all the selections, if we don't it still thinks some are selected when we go to another course
            for (int i = 0; i < sectionListView.getCount(); i++) {
                sectionListView.setItemChecked(i, false);
            }
            SectionManager.getAllSectionsForCourse(course.getId(), new StatusCallback<List<Section>>() {

                @Override
                public void onResponse(@NonNull retrofit2.Response<List<Section>> response, @NonNull com.instructure.canvasapi2.utils.LinkHeaders linkHeaders, @NonNull ApiType type) {
                    setupSectionAdapter(response.body());
                    ApplicationManager.saveSections(PublishPollActivity.this, response.body(), ((Course) coursesSpinner.getSelectedItem()).getId());
                }
            }, true);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });
}
Also used : LinkHeaders(com.instructure.canvasapi2.utils.LinkHeaders) StatusCallback(com.instructure.canvasapi2.StatusCallback) BindView(butterknife.BindView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) CheckedTextView(android.widget.CheckedTextView) ListView(android.widget.ListView) Section(com.instructure.canvasapi2.models.Section) PollSessionResponse(com.instructure.canvasapi2.models.PollSessionResponse) Response(retrofit2.Response) NonNull(android.support.annotation.NonNull) ApiType(com.instructure.canvasapi2.utils.ApiType) AdapterView(android.widget.AdapterView) Course(com.instructure.canvasapi2.models.Course)

Example 5 with Parent

use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.

the class CanvasContextSpinnerAdapter method getView.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final CanvasContextViewHolder viewHolder;
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.canvas_context_spinner_adapter_item, parent, false);
        viewHolder = new CanvasContextViewHolder();
        viewHolder.title = (TextView) convertView.findViewById(R.id.title);
        viewHolder.indicator = (ImageView) convertView.findViewById(R.id.icon);
        convertView.setTag(viewHolder);
    } else {
        viewHolder = (CanvasContextViewHolder) convertView.getTag();
    }
    CanvasContext item = mData.get(position);
    if (item != null) {
        viewHolder.title.setText(item.getName());
        viewHolder.indicator.setVisibility(View.VISIBLE);
        viewHolder.indicator.setBackground(BaseBinder.createIndicatorBackground(ColorKeeper.getOrGenerateColor(item)));
    } else {
        viewHolder.indicator.setVisibility(View.GONE);
        viewHolder.title.setText("");
    }
    return convertView;
}
Also used : CanvasContext(com.instructure.canvasapi2.models.CanvasContext)

Aggregations

TextView (android.widget.TextView)8 Course (com.instructure.canvasapi2.models.Course)8 View (android.view.View)7 CanvasContext (com.instructure.canvasapi2.models.CanvasContext)6 AdapterView (android.widget.AdapterView)5 ImageView (android.widget.ImageView)5 DiscussionEntry (com.instructure.canvasapi2.models.DiscussionEntry)5 Test (org.junit.Test)5 DiscussionTopic (com.instructure.canvasapi2.models.DiscussionTopic)4 ApiPrefs (com.instructure.canvasapi2.utils.ApiPrefs)4 Prefs (com.instructure.pandautils.utils.Prefs)4 NonNull (android.support.annotation.NonNull)3 AlertDialog (android.support.v7.app.AlertDialog)3 LinkHeaders (com.instructure.canvasapi2.utils.LinkHeaders)3 ArrayList (java.util.ArrayList)3 SuppressLint (android.annotation.SuppressLint)2 DialogInterface (android.content.DialogInterface)2 Paint (android.graphics.Paint)2 CheckedTextView (android.widget.CheckedTextView)2 ListView (android.widget.ListView)2