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);
}
}
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);
}
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());
}
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) {
}
});
}
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;
}
Aggregations