Skip to content

PApplet does not extends anything now same as java mode. #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 2, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 6 additions & 26 deletions core/src/processing/core/PApplet.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
import processing.opengl.*;


public class PApplet extends Fragment implements PConstants, Runnable {
public class PApplet implements PConstants, Runnable {

/**
* The activity which holds this fragment.
Expand Down Expand Up @@ -445,13 +445,11 @@ public PApplet() {}

/** Called with the activity is first created. */
@SuppressWarnings("unchecked")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
public View onCreateView(Activity activity) {

if (DEBUG) println("onCreateView() happening here: " + Thread.currentThread().getName());

activity = getActivity();
this.activity = activity;
View rootView;

DisplayMetrics dm = new DisplayMetrics();
Expand Down Expand Up @@ -627,16 +625,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
}


@Override
public void onConfigurationChanged(Configuration newConfig) {
if (DEBUG) System.out.println("configuration changed: " + newConfig);
super.onConfigurationChanged(newConfig);
}



@Override
public void onResume() {
super.onResume();

// TODO need to bring back app state here!
// surfaceView.onResume();
Expand All @@ -649,9 +640,7 @@ public void onResume() {
}


@Override
public void onPause() {
super.onPause();

// TODO need to save all application state here!
// System.out.println("PApplet.onPause() called");
Expand Down Expand Up @@ -716,14 +705,12 @@ public void resume() {
}


@Override
public void onDestroy() {
// stop();
dispose();
if (PApplet.DEBUG) {
System.out.println("PApplet.onDestroy() called");
}
super.onDestroy();
//finish();
}

Expand Down Expand Up @@ -1809,9 +1796,6 @@ public PGraphics createGraphics(int iwidth, int iheight, String irenderer) {
} catch (InstantiationException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
} catch (java.lang.InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Expand Down Expand Up @@ -3179,7 +3163,7 @@ public void link(String here) {
*/
public void link(String url, String frameTitle) {
Intent viewIntent = new Intent("android.intent.action.VIEW", Uri.parse(url));
startActivity(viewIntent);
activity.startActivity(viewIntent);
}


Expand Down Expand Up @@ -8000,22 +7984,18 @@ public void updatePixels(int x1, int y1, int x2, int y2) {
}


private void tellPDE(final String message) {
public void tellPDE(final String message) {
Log.i(activity.getComponentName().getPackageName(), "PROCESSING " + message);
}


@Override
public void onStart() {
tellPDE("onStart");
super.onStart();
}


@Override
public void onStop() {
tellPDE("onStop");
super.onStop();
}


Expand Down
76 changes: 72 additions & 4 deletions src/processing/mode/android/AndroidBuild.java
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ public File createProject() throws IOException, SketchException {

final File resFolder = new File(tmpFolder, "res");
writeRes(resFolder, sketchClassName);
writeSketchFragment(srcFolder);
writeMainActivity(srcFolder);


Expand Down Expand Up @@ -864,6 +865,73 @@ private File mkdirs(final File parent, final String name) throws SketchException
return result;
}

private void writeSketchFragment(final File srcDirectory) {
File sketchFragmentFile = new File(new File(srcDirectory, manifest.getPackageName().replace(".", "/")),
"SketchFragment.java");
final PrintWriter writer = PApplet.createWriter(sketchFragmentFile);
writer.println("package " + manifest.getPackageName() +";");
writer.println("import android.app.Activity;");
writer.println("import android.os.Bundle;");
writer.println("import android.view.LayoutInflater;");
writer.println("import android.view.View;");
writer.println("import android.view.ViewGroup;");
writer.println("import android.content.res.Configuration;");
writer.println("import android.app.Fragment;");
writer.println("import processing.core.PApplet;");
writer.println("public class SketchFragment extends Fragment {");
writer.println(" PApplet mPApplet;");
writer.println(" @Override");
writer.println(" public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {");
writer.println(" mPApplet = new " + sketchClassName + "();");
writer.println(" Activity activity = getActivity();");
writer.println(" View rootView = mPApplet.onCreateView(activity);");
writer.println(" return rootView;");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onConfigurationChanged(Configuration newConfig) {");
writer.println(" super.onConfigurationChanged(newConfig);");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onResume() {");
writer.println(" super.onResume();");
writer.println(" mPApplet.onResume();");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onPause() {");
writer.println(" super.onPause();");
writer.println(" mPApplet.onPause();");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onDestroy() {");
writer.println(" mPApplet.onDestroy();");
writer.println(" super.onDestroy();");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onStart() {");
writer.println(" mPApplet.tellPDE(\"onStart\");");
writer.println(" super.onStart();");
writer.println(" }");

writer.println(" @Override");
writer.println(" public void onStop() {");
writer.println(" mPApplet.tellPDE(\"onStop\");");
writer.println(" super.onStop();");
writer.println(" }");

writer.println(" public void onBackPressed() {");
writer.println(" mPApplet.onBackPressed();");
writer.println(" }");

writer.println("}");
writer.flush();
writer.close();

}

private void writeMainActivity(final File srcDirectory) {
File mainActivityFile = new File(new File(srcDirectory, manifest.getPackageName().replace(".", "/")),
Expand All @@ -877,9 +945,9 @@ private void writeMainActivity(final File srcDirectory) {
writer.println("import android.widget.FrameLayout;");
writer.println("import android.view.ViewGroup.LayoutParams;");
writer.println("import android.app.FragmentTransaction;");
writer.println("import processing.core.PApplet;");
writer.println("import android.app.Fragment;");
writer.println("public class MainActivity extends Activity {");
writer.println(" PApplet fragment;");
writer.println(" SketchFragment fragment;");
writer.println(" private static final String MAIN_FRAGMENT_TAG = \"main_fragment\";");
writer.println(" int viewId = 0x1000;");
writer.println(" @Override");
Expand All @@ -896,11 +964,11 @@ private void writeMainActivity(final File srcDirectory) {
writer.println(" setContentView(frame, new LayoutParams(LayoutParams.MATCH_PARENT, "
+ "LayoutParams.MATCH_PARENT));");
writer.println(" if (savedInstanceState == null) {");
writer.println(" fragment = new " + sketchClassName + "();");
writer.println(" fragment = new SketchFragment();");
writer.println(" FragmentTransaction ft = getFragmentManager().beginTransaction();");
writer.println(" ft.add(frame.getId(), fragment, MAIN_FRAGMENT_TAG).commit();");
writer.println(" } else {");
writer.println(" fragment = (PApplet) getFragmentManager().findFragmentByTag(MAIN_FRAGMENT_TAG);");
writer.println(" fragment = (SketchFragment) getFragmentManager().findFragmentByTag(MAIN_FRAGMENT_TAG);");
writer.println(" }");
writer.println(" }");
writer.println(" @Override");
Expand Down