コード例 #1
0
  @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);
    }
  }
コード例 #2
0
  @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);
    }
  }
コード例 #3
0
 @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);
 }
コード例 #4
0
 @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;
 }
コード例 #5
0
  @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;
  }
コード例 #6
0
 @Override
 public void onDestroy() {
   super.onDestroy();
   cleanupTasks();
   if (getActivity() != null) {
     if (getActivity() instanceof PostReplyActivity) {
     } else {
       ((ThreadDisplayActivity) getActivity()).refreshInfo();
       ((ThreadDisplayActivity) getActivity()).refreshThread();
     }
   }
 }
コード例 #7
0
  @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;
  }
コード例 #8
0
  @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();
  }
コード例 #9
0
 @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);
   }
 }
コード例 #10
0
  @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);
    }
  }
コード例 #11
0
 @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();
 }
コード例 #12
0
 @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);
   }
 }
コード例 #13
0
 @Override
 public void onDestroy() {
   super.onDestroy();
   Log.e(TAG, "onDestroy");
   cleanupTasks();
 }
コード例 #14
0
 @Override
 public void onDetach() {
   super.onDetach();
   Log.e(TAG, "onDetach");
 }
コード例 #15
0
 @Override
 public void onPreferenceChange(AwfulPreferences prefs, String key) {
   super.onPreferenceChange(prefs, key);
   // refresh the menu to show/hide attach option (plat only)
   invalidateOptionsMenu();
 }
コード例 #16
0
 @Override
 public void onResume() {
   super.onResume();
 }
コード例 #17
0
 @Override
 public void onStop() {
   super.onStop();
   if (DEBUG) Log.e(TAG, "onStop");
   cleanupTasks();
 }
コード例 #18
0
 @Override
 public void onPause() {
   super.onPause();
   if (DEBUG) Log.e(TAG, "onPause");
   cleanupTasks();
 }
コード例 #19
0
 @Override
 public void onResume() {
   super.onResume();
   if (DEBUG) Log.e(TAG, "onResume");
 }
コード例 #20
0
  @Override
  public void onPause() {
    super.onPause();

    cleanupTasks();
  }
コード例 #21
0
 @Override
 public void onDetach() {
   super.onDetach();
   mSelection = mMessage.getSelectionStart();
 }