Skip to content

Commit 52f4617

Browse files
committed
simplified fragment embedding calls
1 parent 92b9dbe commit 52f4617

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

core/src/processing/android/PFragment.java

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import android.support.annotation.IdRes;
2626
import android.support.annotation.LayoutRes;
2727
import android.support.v4.app.Fragment;
28+
import android.support.v4.app.FragmentActivity;
2829
import android.support.v4.app.FragmentManager;
2930
import android.support.v4.app.FragmentTransaction;
3031
import android.util.DisplayMetrics;
@@ -46,9 +47,17 @@ public class PFragment extends Fragment implements AppComponent {
4647
private DisplayMetrics metrics;
4748
private Point size;
4849
private PApplet sketch;
50+
private @LayoutRes int layout = -1;
4951

5052

5153
public PFragment() {
54+
super();
55+
}
56+
57+
58+
public PFragment(PApplet sketch) {
59+
super();
60+
setSketch(sketch);
5261
}
5362

5463

@@ -100,32 +109,37 @@ public int getKind() {
100109

101110
public void setSketch(PApplet sketch) {
102111
this.sketch = sketch;
112+
if (layout != -1) {
113+
sketch.parentLayout = layout;
114+
}
103115
}
104116

105117

106-
public void setSketch(PApplet sketch, @IdRes int id, @LayoutRes int layout,
107-
FragmentManager manager) {
108-
this.sketch = sketch;
109-
sketch.parentLayout = layout;
118+
public PApplet getSketch() {
119+
return sketch;
120+
}
121+
122+
123+
public void setLayout(@LayoutRes int layout, @IdRes int id, FragmentActivity activity) {
124+
this.layout = layout;
125+
if (sketch != null) {
126+
sketch.parentLayout = layout;
127+
}
128+
FragmentManager manager = activity.getSupportFragmentManager();
110129
FragmentTransaction transaction = manager.beginTransaction();
111130
transaction.add(id, this);
112131
transaction.commit();
113132
}
114133

115134

116-
public void setSketch(PApplet sketch, View view, FragmentManager manager) {
117-
this.sketch = sketch;
135+
public void setView(View view, FragmentActivity activity) {
136+
FragmentManager manager = activity.getSupportFragmentManager();
118137
FragmentTransaction transaction = manager.beginTransaction();
119138
transaction.add(view.getId(), this);
120139
transaction.commit();
121140
}
122141

123142

124-
public PApplet getSketch() {
125-
return sketch;
126-
}
127-
128-
129143
public boolean isService() {
130144
return false;
131145
}

templates/FragmentActivity.java.tmpl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ public class MainActivity extends AppCompatActivity {
2020
setContentView(frame, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
2121
ViewGroup.LayoutParams.MATCH_PARENT));
2222

23-
sketch = new @@sketch_class_name@@();@@external@@
24-
PFragment fragment = new PFragment();
25-
fragment.setSketch(sketch, frame, getSupportFragmentManager());
23+
sketch = new @@sketch_class_name@@();
24+
@@external@@
25+
PFragment fragment = new PFragment(sketch);
26+
fragment.setView(frame, this);
2627
}
2728

2829
@Override

0 commit comments

Comments
 (0)