Skip to content

Commit a0c805c

Browse files
committed
Merge pull request #187 from suheb/fix-PApplet
PApplet does not extends anything now same as java mode.
2 parents 0574ddd + c17bc93 commit a0c805c

File tree

2 files changed

+78
-30
lines changed

2 files changed

+78
-30
lines changed

core/src/processing/core/PApplet.java

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
import processing.opengl.*;
6060

6161

62-
public class PApplet extends Fragment implements PConstants, Runnable {
62+
public class PApplet implements PConstants, Runnable {
6363

6464
/**
6565
* The activity which holds this fragment.
@@ -445,13 +445,11 @@ public PApplet() {}
445445

446446
/** Called with the activity is first created. */
447447
@SuppressWarnings("unchecked")
448-
@Override
449-
public View onCreateView(LayoutInflater inflater, ViewGroup container,
450-
Bundle savedInstanceState) {
448+
public View onCreateView(Activity activity) {
451449

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

454-
activity = getActivity();
452+
this.activity = activity;
455453
View rootView;
456454

457455
DisplayMetrics dm = new DisplayMetrics();
@@ -627,16 +625,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
627625
}
628626

629627

630-
@Override
631-
public void onConfigurationChanged(Configuration newConfig) {
632-
if (DEBUG) System.out.println("configuration changed: " + newConfig);
633-
super.onConfigurationChanged(newConfig);
634-
}
635-
628+
636629

637-
@Override
638630
public void onResume() {
639-
super.onResume();
640631

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

651642

652-
@Override
653643
public void onPause() {
654-
super.onPause();
655644

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

718707

719-
@Override
720708
public void onDestroy() {
721709
// stop();
722710
dispose();
723711
if (PApplet.DEBUG) {
724712
System.out.println("PApplet.onDestroy() called");
725713
}
726-
super.onDestroy();
727714
//finish();
728715
}
729716

@@ -1809,9 +1796,6 @@ public PGraphics createGraphics(int iwidth, int iheight, String irenderer) {
18091796
} catch (InstantiationException e) {
18101797
e.printStackTrace();
18111798
throw new RuntimeException(e.getMessage());
1812-
} catch (java.lang.InstantiationException e) {
1813-
// TODO Auto-generated catch block
1814-
e.printStackTrace();
18151799
} catch (IllegalArgumentException e) {
18161800
// TODO Auto-generated catch block
18171801
e.printStackTrace();
@@ -3179,7 +3163,7 @@ public void link(String here) {
31793163
*/
31803164
public void link(String url, String frameTitle) {
31813165
Intent viewIntent = new Intent("android.intent.action.VIEW", Uri.parse(url));
3182-
startActivity(viewIntent);
3166+
activity.startActivity(viewIntent);
31833167
}
31843168

31853169

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

80027986

8003-
private void tellPDE(final String message) {
7987+
public void tellPDE(final String message) {
80047988
Log.i(activity.getComponentName().getPackageName(), "PROCESSING " + message);
80057989
}
80067990

80077991

8008-
@Override
80097992
public void onStart() {
80107993
tellPDE("onStart");
8011-
super.onStart();
80127994
}
80137995

80147996

8015-
@Override
80167997
public void onStop() {
80177998
tellPDE("onStop");
8018-
super.onStop();
80197999
}
80208000

80218001

src/processing/mode/android/AndroidBuild.java

Lines changed: 72 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public File createProject() throws IOException, SketchException {
171171

172172
final File resFolder = new File(tmpFolder, "res");
173173
writeRes(resFolder, sketchClassName);
174+
writeSketchFragment(srcFolder);
174175
writeMainActivity(srcFolder);
175176

176177

@@ -864,6 +865,73 @@ private File mkdirs(final File parent, final String name) throws SketchException
864865
return result;
865866
}
866867

868+
private void writeSketchFragment(final File srcDirectory) {
869+
File sketchFragmentFile = new File(new File(srcDirectory, manifest.getPackageName().replace(".", "/")),
870+
"SketchFragment.java");
871+
final PrintWriter writer = PApplet.createWriter(sketchFragmentFile);
872+
writer.println("package " + manifest.getPackageName() +";");
873+
writer.println("import android.app.Activity;");
874+
writer.println("import android.os.Bundle;");
875+
writer.println("import android.view.LayoutInflater;");
876+
writer.println("import android.view.View;");
877+
writer.println("import android.view.ViewGroup;");
878+
writer.println("import android.content.res.Configuration;");
879+
writer.println("import android.app.Fragment;");
880+
writer.println("import processing.core.PApplet;");
881+
writer.println("public class SketchFragment extends Fragment {");
882+
writer.println(" PApplet mPApplet;");
883+
writer.println(" @Override");
884+
writer.println(" public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {");
885+
writer.println(" mPApplet = new " + sketchClassName + "();");
886+
writer.println(" Activity activity = getActivity();");
887+
writer.println(" View rootView = mPApplet.onCreateView(activity);");
888+
writer.println(" return rootView;");
889+
writer.println(" }");
890+
891+
writer.println(" @Override");
892+
writer.println(" public void onConfigurationChanged(Configuration newConfig) {");
893+
writer.println(" super.onConfigurationChanged(newConfig);");
894+
writer.println(" }");
895+
896+
writer.println(" @Override");
897+
writer.println(" public void onResume() {");
898+
writer.println(" super.onResume();");
899+
writer.println(" mPApplet.onResume();");
900+
writer.println(" }");
901+
902+
writer.println(" @Override");
903+
writer.println(" public void onPause() {");
904+
writer.println(" super.onPause();");
905+
writer.println(" mPApplet.onPause();");
906+
writer.println(" }");
907+
908+
writer.println(" @Override");
909+
writer.println(" public void onDestroy() {");
910+
writer.println(" mPApplet.onDestroy();");
911+
writer.println(" super.onDestroy();");
912+
writer.println(" }");
913+
914+
writer.println(" @Override");
915+
writer.println(" public void onStart() {");
916+
writer.println(" mPApplet.tellPDE(\"onStart\");");
917+
writer.println(" super.onStart();");
918+
writer.println(" }");
919+
920+
writer.println(" @Override");
921+
writer.println(" public void onStop() {");
922+
writer.println(" mPApplet.tellPDE(\"onStop\");");
923+
writer.println(" super.onStop();");
924+
writer.println(" }");
925+
926+
writer.println(" public void onBackPressed() {");
927+
writer.println(" mPApplet.onBackPressed();");
928+
writer.println(" }");
929+
930+
writer.println("}");
931+
writer.flush();
932+
writer.close();
933+
934+
}
867935

868936
private void writeMainActivity(final File srcDirectory) {
869937
File mainActivityFile = new File(new File(srcDirectory, manifest.getPackageName().replace(".", "/")),
@@ -877,9 +945,9 @@ private void writeMainActivity(final File srcDirectory) {
877945
writer.println("import android.widget.FrameLayout;");
878946
writer.println("import android.view.ViewGroup.LayoutParams;");
879947
writer.println("import android.app.FragmentTransaction;");
880-
writer.println("import processing.core.PApplet;");
948+
writer.println("import android.app.Fragment;");
881949
writer.println("public class MainActivity extends Activity {");
882-
writer.println(" PApplet fragment;");
950+
writer.println(" SketchFragment fragment;");
883951
writer.println(" private static final String MAIN_FRAGMENT_TAG = \"main_fragment\";");
884952
writer.println(" int viewId = 0x1000;");
885953
writer.println(" @Override");
@@ -896,11 +964,11 @@ private void writeMainActivity(final File srcDirectory) {
896964
writer.println(" setContentView(frame, new LayoutParams(LayoutParams.MATCH_PARENT, "
897965
+ "LayoutParams.MATCH_PARENT));");
898966
writer.println(" if (savedInstanceState == null) {");
899-
writer.println(" fragment = new " + sketchClassName + "();");
967+
writer.println(" fragment = new SketchFragment();");
900968
writer.println(" FragmentTransaction ft = getFragmentManager().beginTransaction();");
901969
writer.println(" ft.add(frame.getId(), fragment, MAIN_FRAGMENT_TAG).commit();");
902970
writer.println(" } else {");
903-
writer.println(" fragment = (PApplet) getFragmentManager().findFragmentByTag(MAIN_FRAGMENT_TAG);");
971+
writer.println(" fragment = (SketchFragment) getFragmentManager().findFragmentByTag(MAIN_FRAGMENT_TAG);");
904972
writer.println(" }");
905973
writer.println(" }");
906974
writer.println(" @Override");

0 commit comments

Comments
 (0)