Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // как это надо делать:
- Single.fromCallable(() -> {
- DialogsTable.getDialogByOpponentId(App.newInstance().getManagers().get(0).getManagerId());
- })
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe((dialog) -> {
- MessagesTable.createChangeStatusMessage(dialog.getDialogId(), statusName, endDate);
- });
- // как это делают они:
- @Override
- public void onResume() {
- super.onResume();
- //.. я убрал лишнее тут
- getLoaderManager().restartLoader(Constants.CHANGE_STATUS_FRAGMENT_LOADER, null, loaderCallbacks);
- }
- @Override
- public void onPause() {
- super.onPause();
- getLoaderManager().destroyLoader(Constants.CHANGE_STATUS_FRAGMENT_LOADER);
- }
- private final LoaderManager.LoaderCallbacks<Cursor> loaderCallbacks = new LoaderManager.LoaderCallbacks<Cursor>() {
- @Override
- public Loader<Cursor> onCreateLoader(int id, Bundle args) {
- Uri uri = null;
- String selection = null;
- String[] selectionArgs = new String[0];
- switch (id) {
- case Constants.CHANGE_STATUS_FRAGMENT_LOADER:
- uri = ContentProvider.createUri(DialogsTable.class, null);
- selection = DialogsTable.DIALOG_ID + "=?";
- selectionArgs = new String[]{getDialogId()};
- break;
- }
- return new CursorLoader(getActivity(), uri, null, selection, selectionArgs, null);
- }
- @Override
- public void onLoadFinished(Loader<Cursor> loader, final Cursor cursor) {
- int id = loader.getId();
- if (mProgressDialog != null) {
- mProgressDialog.dismiss();
- }
- switch (id) {
- case Constants.CHANGE_STATUS_FRAGMENT_LOADER:
- if (cursor.moveToFirst()) {
- endDate = cursor.getLong(cursor.getColumnIndex(DialogsTable.DURATION));
- originalEstimateDate = cursor.getLong(cursor.getColumnIndex(DialogsTable.DURATION));
- originalEstimate.setText(DialogsTable.getEndDateInUsaFormat(cursor));
- datePickerText.setText(DialogsTable.getEndDateInUsaFormat(cursor));
- final int companyId = DialogsTable.getCompanyId(cursor);
- Thread thread = new Thread(new Runnable() {
- @Override
- public void run() {
- statuses = OrderStatusesTable.getStatusesByCompanyId(companyId);
- }
- });
- thread.start();
- try {
- thread.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- final int statusId = cursor.getInt(cursor.getColumnIndex(DialogsTable.ORDER_STATUS));
- selectedOrderStatus = getStatusById(statusId);
- initialOrderStatus = selectedOrderStatus;
- ArrayAdapter<CompanyStatus> spinnerArrayAdapter = new ArrayAdapter<>(getActivity(), R.layout.simple_spinner_item, statuses);
- spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- statusPicker.setAdapter(spinnerArrayAdapter);
- statusPicker.setSelection(statuses.indexOf(selectedOrderStatus));
- }
- getLoaderManager().destroyLoader(Constants.CHANGE_STATUS_FRAGMENT_LOADER);
- break;
- }
- }
- @Override
- public void onLoaderReset(Loader<Cursor> loader) {
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement