Program: 14996
Project: 14996
Buggy source:
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  Bundle extras=getIntent().getExtras();
  ActionBar actionBar=getSupportActionBar();
  actionBar.setHomeButtonEnabled(true);
  actionBar.setDisplayHomeAsUpEnabled(true);
  Calendar c=Calendar.getInstance();
  mYear=c.get(Calendar.YEAR);
  mMonth=c.get(Calendar.MONTH);
  mDay=c.get(Calendar.DAY_OF_MONTH);
  mHour=c.get(Calendar.HOUR_OF_DAY);
  mMinute=c.get(Calendar.MINUTE);
  mCategories=new ArrayList<String>();
  mAutoSaveHandler=new Handler();
  String action=getIntent().getAction();
  if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action)) {
    setupTitleForShareAction();
  }
 else {
    initBlog();
    if (extras != null) {
      mAccountName=StringUtils.unescapeHTML(extras.getString("String_Node_Str"));
      mPostID=extras.getLong("String_Node_Str");
      mLocalDraft=extras.getBoolean("String_Node_Str",false);
      mIsPage=extras.getBoolean("String_Node_Str",false);
      mIsNew=extras.getBoolean("String_Node_Str",false);
      if (savedInstanceState != null) {
        mCurrentActivityRequest=savedInstanceState.getInt("String_Node_Str");
        if (savedInstanceState.getString("String_Node_Str") != null)         mMediaCapturePath=savedInstanceState.getString("String_Node_Str");
      }
 else {
        mQuickMediaType=extras.getInt("String_Node_Str",-1);
      }
      if (extras.getBoolean("String_Node_Str")) {
        mBlogID=extras.getInt("String_Node_Str");
      }
 else {
        mBlogID=WordPress.currentBlog.getId();
      }
      try {
        mBlog=new Blog(mBlogID);
        WordPress.currentBlog=mBlog;
      }
 catch (      Exception e) {
        showBlogErrorAndFinish();
        return;
      }
      if (!mIsNew) {
        try {
          mPost=new Post(mBlogID,mPostID,mIsPage);
          if (mPost == null) {
            Toast.makeText(this,getResources().getText(R.string.post_not_found),Toast.LENGTH_LONG).show();
            finish();
            return;
          }
 else {
            WordPress.currentPost=mPost;
            mOriginalPost=new Post(mBlogID,mPostID,mIsPage);
          }
        }
 catch (        Exception e) {
          e.printStackTrace();
          finish();
        }
      }
    }
    if (mIsNew) {
      mLocalDraft=true;
      setTitle(StringUtils.unescapeHTML(WordPress.getCurrentBlog().getBlogName()) + "String_Node_Str" + getString((mIsPage) ? R.string.new_page : R.string.new_post));
    }
 else {
      setTitle(StringUtils.unescapeHTML(WordPress.getCurrentBlog().getBlogName()) + "String_Node_Str" + getString((mIsPage) ? R.string.edit_page : R.string.edit_post));
    }
  }
  setContentView(R.layout.edit);
  mContentEditText=(WPEditText)findViewById(R.id.postContent);
  mTitleEditText=(EditText)findViewById(R.id.title);
  mExcerptEditText=(EditText)findViewById(R.id.postExcerpt);
  mPasswordEditText=(EditText)findViewById(R.id.post_password);
  mLocationText=(TextView)findViewById(R.id.locationText);
  mBoldToggleButton=(ToggleButton)findViewById(R.id.bold);
  mEmToggleButton=(ToggleButton)findViewById(R.id.em);
  mBquoteToggleButton=(ToggleButton)findViewById(R.id.bquote);
  mUnderlineToggleButton=(ToggleButton)findViewById(R.id.underline);
  mStrikeToggleButton=(ToggleButton)findViewById(R.id.strike);
  mAddPictureButton=(ImageButton)findViewById(R.id.addPictureButton);
  mPubDateButton=(Button)findViewById(R.id.pubDateButton);
  mPubDateText=(TextView)findViewById(R.id.pubDate);
  mLinkButton=(Button)findViewById(R.id.link);
  mMoreButton=(Button)findViewById(R.id.more);
  mStatusSpinner=(Spinner)findViewById(R.id.status);
  mTagsEditText=(EditText)findViewById(R.id.tags);
  mFormatBar=(RelativeLayout)findViewById(R.id.formatBar);
  ((TextView)findViewById(R.id.categoryLabel)).setText(getResources().getString(R.string.categories).toUpperCase());
  ((TextView)findViewById(R.id.statusLabel)).setText(getResources().getString(R.string.status).toUpperCase());
  ((TextView)findViewById(R.id.postFormatLabel)).setText(getResources().getString(R.string.post_format).toUpperCase());
  ((TextView)findViewById(R.id.pubDateLabel)).setText(getResources().getString(R.string.publish_date).toUpperCase());
  if (mIsPage) {
    mExcerptEditText.setVisibility(View.GONE);
    (findViewById(R.id.sectionTags)).setVisibility(View.GONE);
    (findViewById(R.id.sectionCategories)).setVisibility(View.GONE);
    (findViewById(R.id.sectionLocation)).setVisibility(View.GONE);
    (findViewById(R.id.postFormatLabel)).setVisibility(View.GONE);
    (findViewById(R.id.postFormat)).setVisibility(View.GONE);
  }
 else {
    if (mBlog.getPostFormats().equals("String_Node_Str")) {
      List<Object> args=new Vector<Object>();
      args.add(mBlog);
      args.add(this);
      new ApiHelper.getPostFormatsTask().execute(args);
      mPostFormatTitles=getResources().getStringArray(R.array.post_formats_array);
      String defaultPostFormatTitles[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      mPostFormats=defaultPostFormatTitles;
    }
 else {
      try {
        Gson gson=new Gson();
        Type type=new TypeToken<Map<String,String>>(){
        }
.getType();
        Map<String,String> jsonPostFormats=gson.fromJson(mBlog.getPostFormats(),type);
        mPostFormats=new String[jsonPostFormats.size()];
        mPostFormatTitles=new String[jsonPostFormats.size()];
        int i=0;
        for (        Map.Entry<String,String> entry : jsonPostFormats.entrySet()) {
          String key=entry.getKey();
          String val=entry.getValue();
          mPostFormats[i]=key;
          mPostFormatTitles[i]=StringEscapeUtils.unescapeHtml(val);
          i++;
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    Spinner pfSpinner=(Spinner)findViewById(R.id.postFormat);
    ArrayAdapter<String> pfAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,mPostFormatTitles);
    pfAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    pfSpinner.setAdapter(pfAdapter);
    String activePostFormat="String_Node_Str";
    if (!mIsNew) {
      try {
        if (!mPost.getWP_post_format().equals("String_Node_Str"))         activePostFormat=mPost.getWP_post_format();
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    for (int i=0; i < mPostFormats.length; i++) {
      if (mPostFormats[i].equals(activePostFormat))       pfSpinner.setSelection(i);
    }
    if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action))     setContent();
 else     if (NEW_MEDIA_GALLERY.equals(action))     prepareMediaGallery();
 else     if (NEW_MEDIA_POST.equals(action))     prepareMediaPost();
  }
  String[] items=new String[]{getResources().getString(R.string.publish_post),getResources().getString(R.string.draft),getResources().getString(R.string.pending_review),getResources().getString(R.string.post_private)};
  ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  mStatusSpinner.setAdapter(adapter);
  getLocationProvider();
  if (mIsNew) {
    if (mQuickMediaType >= 0) {
      if (mQuickMediaType == Constants.QUICK_POST_PHOTO_CAMERA)       launchCamera();
 else       if (mQuickMediaType == Constants.QUICK_POST_PHOTO_LIBRARY)       launchPictureLibrary();
 else       if (mQuickMediaType == Constants.QUICK_POST_VIDEO_CAMERA)       launchVideoCamera();
 else       if (mQuickMediaType == Constants.QUICK_POST_VIDEO_LIBRARY)       launchVideoLibrary();
      mLocalDraft=extras.getBoolean("String_Node_Str");
    }
  }
 else {
    mTitleEditText.setText(mPost.getTitle());
    mExcerptEditText.setText(mPost.getMt_excerpt());
    if (mPost.isUploaded()) {
      items=new String[]{getResources().getString(R.string.publish_post),getResources().getString(R.string.draft),getResources().getString(R.string.pending_review),getResources().getString(R.string.post_private)};
      adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items);
      mStatusSpinner.setAdapter(adapter);
    }
    String contentHTML;
    if (!mPost.getMt_text_more().equals("String_Node_Str")) {
      if (mPost.isLocalDraft())       contentHTML=mPost.getDescription() + "String_Node_Str" + mPost.getMt_text_more();
 else       contentHTML=mPost.getDescription() + "String_Node_Str" + mPost.getMt_text_more();
    }
 else     contentHTML=mPost.getDescription();
    try {
      if (mPost.isLocalDraft())       mContentEditText.setText(WPHtml.fromHtml(contentHTML.replaceAll("String_Node_Str","String_Node_Str"),EditPostActivity.this,mPost));
 else       mContentEditText.setText(contentHTML.replaceAll("String_Node_Str","String_Node_Str"));
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
    long pubDate=mPost.getDate_created_gmt();
    if (pubDate != 0) {
      try {
        int flags=0;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_DATE;
        flags|=android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_YEAR;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_TIME;
        String formattedDate=DateUtils.formatDateTime(EditPostActivity.this,pubDate,flags);
        mPubDateText.setText(formattedDate);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    if (mPost.getWP_password() != null)     mPasswordEditText.setText(mPost.getWP_password());
    if (mPost.getPost_status() != null) {
      String status=mPost.getPost_status();
      if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(0,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(1,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(2,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(3,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(0,true);
      }
    }
    if (!mIsPage) {
      if (mPost.getJSONCategories() != null) {
        mCategories=JSONUtil.fromJSONArrayToStringList(mPost.getJSONCategories());
      }
      Double latitude=mPost.getLatitude();
      Double longitude=mPost.getLongitude();
      if (latitude != 0.0) {
        new getAddressTask().execute(latitude,longitude);
      }
    }
    String tags=mPost.getMt_keywords();
    if (!tags.equals("String_Node_Str")) {
      mTagsEditText.setText(tags);
    }
  }
  populateSelectedCategories();
  registerForContextMenu(mAddPictureButton);
  mContentEditText.setOnSelectionChangedListener(this);
  mContentEditText.setOnEditTextImeBackListener(this);
  mContentEditText.setOnTouchListener(this);
  mContentEditText.addTextChangedListener(this);
  mContentEditText.setOnFocusChangeListener(this);
  mAddPictureButton.setOnClickListener(this);
  mPubDateButton.setOnClickListener(this);
  mBoldToggleButton.setOnClickListener(this);
  mLinkButton.setOnClickListener(this);
  mEmToggleButton.setOnClickListener(this);
  mUnderlineToggleButton.setOnClickListener(this);
  mStrikeToggleButton.setOnClickListener(this);
  mBquoteToggleButton.setOnClickListener(this);
  mMoreButton.setOnClickListener(this);
}

Fixed version (ground truth):
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  Bundle extras=getIntent().getExtras();
  ActionBar actionBar=getSupportActionBar();
  actionBar.setHomeButtonEnabled(true);
  actionBar.setDisplayHomeAsUpEnabled(true);
  Calendar c=Calendar.getInstance();
  mYear=c.get(Calendar.YEAR);
  mMonth=c.get(Calendar.MONTH);
  mDay=c.get(Calendar.DAY_OF_MONTH);
  mHour=c.get(Calendar.HOUR_OF_DAY);
  mMinute=c.get(Calendar.MINUTE);
  mCategories=new ArrayList<String>();
  mAutoSaveHandler=new Handler();
  String action=getIntent().getAction();
  if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action)) {
    setupTitleForShareAction();
  }
 else {
    initBlog();
    if (extras != null) {
      mAccountName=StringUtils.unescapeHTML(extras.getString("String_Node_Str"));
      mPostID=extras.getLong("String_Node_Str");
      mLocalDraft=extras.getBoolean("String_Node_Str",false);
      mIsPage=extras.getBoolean("String_Node_Str",false);
      mIsNew=extras.getBoolean("String_Node_Str",false);
      if (savedInstanceState != null) {
        mCurrentActivityRequest=savedInstanceState.getInt("String_Node_Str");
        if (savedInstanceState.getString("String_Node_Str") != null)         mMediaCapturePath=savedInstanceState.getString("String_Node_Str");
      }
 else {
        mQuickMediaType=extras.getInt("String_Node_Str",-1);
      }
      if (extras.getBoolean("String_Node_Str")) {
        mBlogID=extras.getInt("String_Node_Str");
      }
 else {
        mBlogID=WordPress.currentBlog.getId();
      }
      try {
        mBlog=new Blog(mBlogID);
        WordPress.currentBlog=mBlog;
      }
 catch (      Exception e) {
        showBlogErrorAndFinish();
        return;
      }
      if (!mIsNew) {
        try {
          mPost=new Post(mBlogID,mPostID,mIsPage);
          if (mPost == null) {
            Toast.makeText(this,getResources().getText(R.string.post_not_found),Toast.LENGTH_LONG).show();
            finish();
            return;
          }
 else {
            WordPress.currentPost=mPost;
            mOriginalPost=new Post(mBlogID,mPostID,mIsPage);
          }
        }
 catch (        Exception e) {
          e.printStackTrace();
          finish();
        }
      }
    }
    if (mIsNew) {
      mLocalDraft=true;
      setTitle(StringUtils.unescapeHTML(WordPress.getCurrentBlog().getBlogName()) + "String_Node_Str" + getString((mIsPage) ? R.string.new_page : R.string.new_post));
    }
 else {
      setTitle(StringUtils.unescapeHTML(WordPress.getCurrentBlog().getBlogName()) + "String_Node_Str" + getString((mIsPage) ? R.string.edit_page : R.string.edit_post));
    }
  }
  setContentView(R.layout.edit);
  mContentEditText=(WPEditText)findViewById(R.id.postContent);
  mTitleEditText=(EditText)findViewById(R.id.title);
  mExcerptEditText=(EditText)findViewById(R.id.postExcerpt);
  mPasswordEditText=(EditText)findViewById(R.id.post_password);
  mLocationText=(TextView)findViewById(R.id.locationText);
  mBoldToggleButton=(ToggleButton)findViewById(R.id.bold);
  mEmToggleButton=(ToggleButton)findViewById(R.id.em);
  mBquoteToggleButton=(ToggleButton)findViewById(R.id.bquote);
  mUnderlineToggleButton=(ToggleButton)findViewById(R.id.underline);
  mStrikeToggleButton=(ToggleButton)findViewById(R.id.strike);
  mAddPictureButton=(ImageButton)findViewById(R.id.addPictureButton);
  mPubDateButton=(Button)findViewById(R.id.pubDateButton);
  mPubDateText=(TextView)findViewById(R.id.pubDate);
  mLinkButton=(Button)findViewById(R.id.link);
  mMoreButton=(Button)findViewById(R.id.more);
  mStatusSpinner=(Spinner)findViewById(R.id.status);
  mTagsEditText=(EditText)findViewById(R.id.tags);
  mFormatBar=(RelativeLayout)findViewById(R.id.formatBar);
  ((TextView)findViewById(R.id.categoryLabel)).setText(getResources().getString(R.string.categories).toUpperCase());
  ((TextView)findViewById(R.id.statusLabel)).setText(getResources().getString(R.string.status).toUpperCase());
  ((TextView)findViewById(R.id.postFormatLabel)).setText(getResources().getString(R.string.post_format).toUpperCase());
  ((TextView)findViewById(R.id.pubDateLabel)).setText(getResources().getString(R.string.publish_date).toUpperCase());
  if (mIsPage) {
    mExcerptEditText.setVisibility(View.GONE);
    (findViewById(R.id.sectionTags)).setVisibility(View.GONE);
    (findViewById(R.id.sectionCategories)).setVisibility(View.GONE);
    (findViewById(R.id.sectionLocation)).setVisibility(View.GONE);
    (findViewById(R.id.postFormatLabel)).setVisibility(View.GONE);
    (findViewById(R.id.postFormat)).setVisibility(View.GONE);
  }
 else {
    if (mBlog.getPostFormats().equals("String_Node_Str")) {
      List<Object> args=new Vector<Object>();
      args.add(mBlog);
      args.add(this);
      new ApiHelper.getPostFormatsTask().execute(args);
      mPostFormatTitles=getResources().getStringArray(R.array.post_formats_array);
      String defaultPostFormatTitles[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
      mPostFormats=defaultPostFormatTitles;
    }
 else {
      try {
        Gson gson=new Gson();
        Type type=new TypeToken<Map<String,String>>(){
        }
.getType();
        Map<String,String> jsonPostFormats=gson.fromJson(mBlog.getPostFormats(),type);
        mPostFormats=new String[jsonPostFormats.size()];
        mPostFormatTitles=new String[jsonPostFormats.size()];
        int i=0;
        for (        Map.Entry<String,String> entry : jsonPostFormats.entrySet()) {
          String key=entry.getKey();
          String val=entry.getValue();
          mPostFormats[i]=key;
          mPostFormatTitles[i]=StringEscapeUtils.unescapeHtml(val);
          i++;
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    Spinner pfSpinner=(Spinner)findViewById(R.id.postFormat);
    ArrayAdapter<String> pfAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,mPostFormatTitles);
    pfAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    pfSpinner.setAdapter(pfAdapter);
    String activePostFormat="String_Node_Str";
    if (!mIsNew) {
      try {
        if (!mPost.getWP_post_format().equals("String_Node_Str"))         activePostFormat=mPost.getWP_post_format();
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    for (int i=0; i < mPostFormats.length; i++) {
      if (mPostFormats[i].equals(activePostFormat))       pfSpinner.setSelection(i);
    }
    if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action))     setContent();
 else     if (NEW_MEDIA_GALLERY.equals(action))     prepareMediaGallery();
 else     if (NEW_MEDIA_POST.equals(action))     prepareMediaPost();
  }
  String[] items=new String[]{getResources().getString(R.string.publish_post),getResources().getString(R.string.draft),getResources().getString(R.string.pending_review),getResources().getString(R.string.post_private)};
  ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  mStatusSpinner.setAdapter(adapter);
  getLocationProvider();
  if (mIsNew) {
    if (mQuickMediaType >= 0) {
      if (mQuickMediaType == Constants.QUICK_POST_PHOTO_CAMERA)       launchCamera();
 else       if (mQuickMediaType == Constants.QUICK_POST_PHOTO_LIBRARY)       launchPictureLibrary();
 else       if (mQuickMediaType == Constants.QUICK_POST_VIDEO_CAMERA)       launchVideoCamera();
 else       if (mQuickMediaType == Constants.QUICK_POST_VIDEO_LIBRARY)       launchVideoLibrary();
      mLocalDraft=extras.getBoolean("String_Node_Str");
    }
  }
 else {
    mTitleEditText.setText(mPost.getTitle());
    mExcerptEditText.setText(mPost.getMt_excerpt());
    if (mPost.isUploaded()) {
      items=new String[]{getResources().getString(R.string.publish_post),getResources().getString(R.string.draft),getResources().getString(R.string.pending_review),getResources().getString(R.string.post_private)};
      adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items);
      mStatusSpinner.setAdapter(adapter);
    }
    String contentHTML;
    if (!mPost.getMt_text_more().equals("String_Node_Str")) {
      if (mPost.isLocalDraft())       contentHTML=mPost.getDescription() + "String_Node_Str" + mPost.getMt_text_more();
 else       contentHTML=mPost.getDescription() + "String_Node_Str" + mPost.getMt_text_more();
    }
 else     contentHTML=mPost.getDescription();
    try {
      if (mPost.isLocalDraft())       mContentEditText.setText(WPHtml.fromHtml(contentHTML.replaceAll("String_Node_Str","String_Node_Str"),EditPostActivity.this,mPost));
 else       mContentEditText.setText(contentHTML.replaceAll("String_Node_Str","String_Node_Str"));
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
    long pubDate=mPost.getDate_created_gmt();
    if (pubDate != 0) {
      try {
        int flags=0;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_DATE;
        flags|=android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_YEAR;
        flags|=android.text.format.DateUtils.FORMAT_SHOW_TIME;
        String formattedDate=DateUtils.formatDateTime(EditPostActivity.this,pubDate,flags);
        mPubDateText.setText(formattedDate);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
    if (mPost.getWP_password() != null)     mPasswordEditText.setText(mPost.getWP_password());
    if (mPost.getPost_status() != null) {
      String status=mPost.getPost_status();
      if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(0,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(1,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(2,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(3,true);
      }
 else       if (status.equals("String_Node_Str")) {
        mStatusSpinner.setSelection(0,true);
      }
    }
    if (!mIsPage) {
      if (mPost.getJSONCategories() != null) {
        mCategories=JSONUtil.fromJSONArrayToStringList(mPost.getJSONCategories());
      }
      Double latitude=mPost.getLatitude();
      Double longitude=mPost.getLongitude();
      if (latitude != 0.0) {
        new getAddressTask().execute(latitude,longitude);
      }
    }
    String tags=mPost.getMt_keywords();
    if (!tags.equals("String_Node_Str")) {
      mTagsEditText.setText(tags);
    }
  }
  populateSelectedCategories();
  registerForContextMenu(mAddPictureButton);
  mContentEditText.setOnSelectionChangedListener(this);
  mContentEditText.setOnEditTextImeBackListener(this);
  mContentEditText.setOnTouchListener(this);
  mContentEditText.addTextChangedListener(this);
  mContentEditText.setOnFocusChangeListener(this);
  mAddPictureButton.setOnClickListener(this);
  mPubDateButton.setOnClickListener(this);
  mBoldToggleButton.setOnClickListener(this);
  mLinkButton.setOnClickListener(this);
  mEmToggleButton.setOnClickListener(this);
  mUnderlineToggleButton.setOnClickListener(this);
  mStrikeToggleButton.setOnClickListener(this);
  mBquoteToggleButton.setOnClickListener(this);
  mMoreButton.setOnClickListener(this);
  softKeyboardHook();
}