ViewJournalActivity.java :  » Chat-Messenger » sofurry-android-app » com » sofurry » itemviews » Android Open Source

Android Open Source » Chat Messenger » sofurry android app 
sofurry android app » com » sofurry » itemviews » ViewJournalActivity.java
package com.sofurry.itemviews;

import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

import org.json.JSONObject;

import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.webkit.WebView;
import android.widget.Toast;

import com.sofurry.AppConstants;
import com.sofurry.SubmissionViewActivity;
import com.sofurry.requests.AjaxRequest;
import com.sofurry.util.FileStorage;

/**
 * @author SoFurry
 *
 * Activity that shows a single story
 */
public class ViewJournalActivity extends SubmissionViewActivity  {
  
  private WebView webview;
  private String content;

  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);  
      webview = new WebView(this);
      setContentView(webview);
      
      if (savedInstanceState == null) {
      pbh.showProgressDialog("Fetching journal...");
      AjaxRequest req = getFetchParameters(pageID);
      req.execute(requesthandler);
      } else {
      content = (String) retrieveObject("content");
      content = content.replace("\u00a0", "");
      viewContent();
      }
  }
  
  @Override
  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    storeObject("content", content);
  }

  /**
   * Returns a story request
   * @param pageID
   * The pageID of the story to be fetched
   * @return
   */
  protected AjaxRequest getFetchParameters(int pageID) {
    AjaxRequest req = new AjaxRequest();
    req.addParameter("f", "getpagecontent");
    req.addParameter("pid", "" + pageID);
    req.setRequestID(AppConstants.REQUEST_ID_FETCHCONTENT);
    return req;
  }

  
  @Override
  public void onData(int id, JSONObject obj) throws Exception {
    if (id == AppConstants.REQUEST_ID_FETCHCONTENT) {
      pbh.hideProgressDialog();
      content = obj.getString("content");
      content = content.replace("\u00a0", "");
      viewContent();
    } else
      super.onData(id, obj);// Handle inherited events
  }
  
  public void viewContent() {
    webview.loadData(content, "text/html", "utf-8");
  }

  @Override
  public void createExtraMenuOptions(Menu menu) {
  }

  @Override
  public void save() {
    try {
      String targetPath = FileStorage.getUserStoragePath("Journals", sanitizeFileName(name) + ".html");

      File tf = new File(targetPath);
      FileStorage.ensureDirectory(tf.getParent());
      
      FileWriter outFile = new FileWriter(targetPath);
      PrintWriter out = new PrintWriter(outFile);
      out.println(content);
      out.close();
      
      Toast.makeText(getApplicationContext(), "File saved to:\n" + targetPath, Toast.LENGTH_LONG).show();
    } catch (Exception e) {
      onError(-1, e);
    }
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.