@Override public void onActivityCreated(Bundle aSavedState) { super.onActivityCreated(aSavedState); setRetainInstance(true); mMessage.setBackgroundColor(mPrefs.postBackgroundColor); mMessage.setTextColor(mPrefs.postFontColor); mExtras = getExtras(); mReplyType = mExtras.getInt(Constants.EDITING, getArguments().getInt(Constants.EDITING, -1)); mPostId = mExtras.getInt(Constants.POST_ID, getArguments().getInt(Constants.POST_ID, -1)); mThreadId = mExtras.getInt(Constants.THREAD_ID, getArguments().getInt(Constants.THREAD_ID, -1)); if (mReplyType < 0 || mThreadId < 0 || (mReplyType != AwfulMessage.TYPE_NEW_REPLY && mPostId < 0)) { Log.e(TAG, "MISSING ARGUMENTS!"); getActivity().finish(); } ((AwfulActivity) getActivity()).registerSyncService(mMessenger, mThreadId); getActivity() .getSupportLoaderManager() .restartLoader(Constants.REPLY_LOADER_ID, null, mReplyDataCallback); getActivity() .getContentResolver() .registerContentObserver(AwfulMessage.CONTENT_URI_REPLY, true, mReplyDataCallback); if (((AwfulActivity) getActivity()).isTV()) { mTitle.setText(getString(R.string.post_reply)); mSubmit.setOnClickListener(onSubmitClick); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (DEBUG) Log.e(TAG, "onCreate"); setHasOptionsMenu(true); setRetainInstance(false); mThreadLoaderCallback = new ThreadDataCallback(); final Activity activity = getActivity(); mContentResolver = activity.getContentResolver(); Intent intent = activity.getIntent(); mReplyType = intent.getIntExtra(Constants.EDITING, -999); mPostId = intent.getIntExtra(Constants.REPLY_POST_ID, 0); mThreadId = intent.getIntExtra(Constants.REPLY_THREAD_ID, 0); boolean badRequest = false; if (mReplyType < 0 || mThreadId == 0) { // we always need a valid type and thread ID badRequest = true; } else if (mPostId == 0 && (mReplyType == AwfulMessage.TYPE_EDIT || mReplyType == AwfulMessage.TYPE_QUOTE)) { // edits and quotes always need a post ID too badRequest = true; } if (badRequest) { activity.finish(); } else { loadReply(mReplyType, mThreadId, mPostId); } }
@Override public void onDestroyView() { super.onDestroyView(); // ((AwfulActivity) getActivity()).unregisterSyncService(mMessenger, mThreadId);//this is // causing the threadview to lose its sync getActivity().getSupportLoaderManager().destroyLoader(mThreadId); getActivity().getContentResolver().unregisterContentObserver(mReplyDataCallback); }
@Override public void onDestroyView() { super.onDestroyView(); Log.e(TAG, "onDestroyView"); autosave(); getLoaderManager().destroyLoader(Constants.REPLY_LOADER_ID); getLoaderManager().destroyLoader(Constants.MISC_LOADER_ID); getActivity().getContentResolver().unregisterContentObserver(mThreadObserver); mMessage = null; }
@Override public View onCreateView(LayoutInflater aInflater, ViewGroup aContainer, Bundle aSavedState) { super.onCreateView(aInflater, aContainer, aSavedState); if (DEBUG) Log.e(TAG, "onCreateView"); View result = inflateView(R.layout.post_reply, aContainer, aInflater); mMessage = aq.find(R.id.post_message).getEditText(); mMessage.setText(""); return result; }
@Override public void onDestroy() { super.onDestroy(); cleanupTasks(); if (getActivity() != null) { if (getActivity() instanceof PostReplyActivity) { } else { ((ThreadDisplayActivity) getActivity()).refreshInfo(); ((ThreadDisplayActivity) getActivity()).refreshThread(); } } }
@Override public View onCreateView(LayoutInflater aInflater, ViewGroup aContainer, Bundle aSavedState) { super.onCreateView(aInflater, aContainer, aSavedState); View result = aInflater.inflate(R.layout.post_reply, aContainer, false); mMessage = (EditText) result.findViewById(R.id.post_message); result.findViewById(R.id.bbcode).setOnClickListener(this); result.findViewById(R.id.emotes).setOnClickListener(this); mPrefs = new AwfulPreferences(getActivity()); return result; }
@Override public void onActivityCreated(Bundle aSavedState) { super.onActivityCreated(aSavedState); if (DEBUG) Log.e(TAG, "onActivityCreated"); mMessage.setBackgroundColor(ColorProvider.getBackgroundColor()); mMessage.setTextColor(ColorProvider.getTextColor()); getActivity() .getContentResolver() .registerContentObserver(AwfulThread.CONTENT_URI, true, mThreadObserver); refreshLoader(); refreshThreadInfo(); }
@Override public void handleMessage(Message aMsg) { Log.i(TAG, "Received Message:" + aMsg.what + " " + aMsg.arg1 + " " + aMsg.arg2); switch (aMsg.arg1) { case AwfulSyncService.Status.OKAY: loadingSucceeded(); if (mDialog != null) { mDialog.dismiss(); mDialog = null; } if (aMsg.what == AwfulSyncService.MSG_FETCH_POST_REPLY) { refreshLoader(); } if (aMsg.what == AwfulSyncService.MSG_SEND_POST) { sendSuccessful = true; if (getActivity() != null) { Toast.makeText( getActivity(), getActivity().getString(R.string.post_sent), Toast.LENGTH_LONG) .show(); leave(); } } break; case AwfulSyncService.Status.WORKING: loadingStarted(); break; case AwfulSyncService.Status.ERROR: loadingFailed(); if (mDialog != null) { mDialog.dismiss(); mDialog = null; } if (aMsg.what == AwfulSyncService.MSG_SEND_POST) { saveReply(); if (getActivity() != null) { Toast.makeText( getActivity(), "Post Failed to Send! Message Saved...", Toast.LENGTH_LONG) .show(); } } if (aMsg.what == AwfulSyncService.MSG_FETCH_POST_REPLY && getActivity() != null) { Toast.makeText(getActivity(), "Reply Load Failed!", Toast.LENGTH_LONG).show(); } break; default: super.handleMessage(aMsg); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new Thread( new Runnable() { public void run() { GoogleAnalyticsTracker.getInstance().trackPageView("/PostReplyFragment"); GoogleAnalyticsTracker.getInstance().dispatch(); } }) .start(); if (!((AwfulActivity) getActivity()).isTV()) { setHasOptionsMenu(true); } }
@Override public void onStop() { super.onStop(); if (!sendSuccessful) { if (mMessage .getText() .toString() .replaceAll("\\s", "") .equalsIgnoreCase(originalReplyData.replaceAll("\\s", ""))) { Log.i(TAG, "Message unchanged, discarding."); deleteReply(); // if the reply is unchanged, throw it out. } else { Log.i(TAG, "Message Unsent, saving."); saveReply(); } } cleanupTasks(); }
@Override public void onRequestPermissionsResult( int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case Constants.AWFUL_PERMISSION_READ_EXTERNAL_STORAGE: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { addAttachment(); } else { Toast.makeText(getActivity(), R.string.no_file_permission_attachment, Toast.LENGTH_LONG) .show(); } break; } default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } }
@Override public void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy"); cleanupTasks(); }
@Override public void onDetach() { super.onDetach(); Log.e(TAG, "onDetach"); }
@Override public void onPreferenceChange(AwfulPreferences prefs, String key) { super.onPreferenceChange(prefs, key); // refresh the menu to show/hide attach option (plat only) invalidateOptionsMenu(); }
@Override public void onResume() { super.onResume(); }
@Override public void onStop() { super.onStop(); if (DEBUG) Log.e(TAG, "onStop"); cleanupTasks(); }
@Override public void onPause() { super.onPause(); if (DEBUG) Log.e(TAG, "onPause"); cleanupTasks(); }
@Override public void onResume() { super.onResume(); if (DEBUG) Log.e(TAG, "onResume"); }
@Override public void onPause() { super.onPause(); cleanupTasks(); }
@Override public void onDetach() { super.onDetach(); mSelection = mMessage.getSelectionStart(); }