@@ -52,8 +52,6 @@ public class AndroidEditor extends JavaEditor {
5252 private int appComponent ;
5353
5454 private Settings settings ;
55- private boolean resetManifest = false ;
56-
5755 private AndroidMode androidMode ;
5856
5957 private java .util .Timer updateDevicesTimer ;
@@ -77,11 +75,11 @@ protected AndroidEditor(Base base, String path, EditorState state,
7775 Mode mode ) throws EditorException {
7876 super (base , path , state , mode );
7977
80- loadModeSettings ();
81-
8278 androidMode = (AndroidMode ) mode ;
8379 androidMode .resetUserSelection ();
84- androidMode .checkSDK (this );
80+ androidMode .checkSDK (this );
81+
82+ loadModeSettings ();
8583 }
8684
8785 @ Override
@@ -267,46 +265,42 @@ public void actionPerformed(ActionEvent e) {
267265
268266 fragmentItem .addActionListener (new ActionListener () {
269267 @ Override
270- public void actionPerformed (ActionEvent e ) {
271- setAppComponent (AndroidBuild .FRAGMENT );
268+ public void actionPerformed (ActionEvent e ) {
272269 fragmentItem .setState (true );
273270 wallpaperItem .setState (false );
274271 watchfaceItem .setSelected (false );
275272 vrItem .setSelected (false );
276- androidMode . showSelectComponentMessage (AndroidBuild .FRAGMENT );
273+ setAppComponent (AndroidBuild .FRAGMENT );
277274 }
278275 });
279276 wallpaperItem .addActionListener (new ActionListener () {
280277 @ Override
281- public void actionPerformed (ActionEvent e ) {
282- setAppComponent (AndroidBuild .WALLPAPER );
278+ public void actionPerformed (ActionEvent e ) {
283279 fragmentItem .setState (false );
284280 wallpaperItem .setState (true );
285281 watchfaceItem .setSelected (false );
286282 vrItem .setSelected (false );
287- androidMode . showSelectComponentMessage (AndroidBuild .WALLPAPER );
283+ setAppComponent (AndroidBuild .WALLPAPER );
288284 }
289285 });
290286 watchfaceItem .addActionListener (new ActionListener () {
291287 @ Override
292- public void actionPerformed (ActionEvent e ) {
293- setAppComponent (AndroidBuild .WATCHFACE );
288+ public void actionPerformed (ActionEvent e ) {
294289 fragmentItem .setState (false );
295290 wallpaperItem .setState (false );
296291 watchfaceItem .setSelected (true );
297292 vrItem .setSelected (false );
298- androidMode . showSelectComponentMessage (AndroidBuild .WATCHFACE );
293+ setAppComponent (AndroidBuild .WATCHFACE );
299294 }
300295 });
301296 vrItem .addActionListener (new ActionListener () {
302297 @ Override
303- public void actionPerformed (ActionEvent e ) {
304- setAppComponent (AndroidBuild .VR );
298+ public void actionPerformed (ActionEvent e ) {
305299 fragmentItem .setState (false );
306300 wallpaperItem .setState (false );
307301 watchfaceItem .setSelected (false );
308302 vrItem .setSelected (true );
309- androidMode . showSelectComponentMessage (AndroidBuild .VR );
303+ setAppComponent (AndroidBuild .VR );
310304 }
311305 });
312306
@@ -471,10 +465,9 @@ public void actionPerformed(ActionEvent e) {
471465 }
472466*/
473467
474- private void setAppComponent (int opt ) {
475- if (appComponent != opt ) {
476- appComponent = opt ;
477- resetManifest = true ;
468+ private void setAppComponent (int comp ) {
469+ if (appComponent != comp ) {
470+ appComponent = comp ;
478471
479472 if (appComponent == AndroidBuild .FRAGMENT ) {
480473 settings .set ("component" , "app" );
@@ -485,7 +478,9 @@ private void setAppComponent(int opt) {
485478 } else if (appComponent == AndroidBuild .VR ) {
486479 settings .set ("component" , "vr" );
487480 }
488- settings .save ();
481+ settings .save ();
482+ androidMode .resetManifest (sketch , appComponent );
483+ androidMode .showSelectComponentMessage (comp );
489484 }
490485 }
491486
@@ -630,9 +625,7 @@ public void run() {
630625 startIndeterminate ();
631626 prepareRun ();
632627 try {
633- androidMode .handleRunEmulator (sketch , AndroidEditor .this , AndroidEditor .this ,
634- resetManifest );
635- resetManifest = false ;
628+ androidMode .handleRunEmulator (sketch , AndroidEditor .this , AndroidEditor .this );
636629 } catch (SketchException e ) {
637630 statusError (e );
638631 } catch (IOException e ) {
@@ -667,9 +660,7 @@ public void run() {
667660 startIndeterminate ();
668661 prepareRun ();
669662 try {
670- androidMode .handleRunDevice (sketch , AndroidEditor .this , AndroidEditor .this ,
671- resetManifest );
672- resetManifest = false ;
663+ androidMode .handleRunDevice (sketch , AndroidEditor .this , AndroidEditor .this );
673664 } catch (SketchException e ) {
674665 statusError (e );
675666 } catch (IOException e ) {
@@ -809,6 +800,8 @@ private void loadModeSettings() {
809800 appComponent = AndroidBuild .VR ;
810801 vrItem .setState (true );
811802 }
803+
804+ if (save ) androidMode .initManifest (sketch , appComponent );
812805 } catch (IOException e ) {
813806 System .err .println ("While creating " + sketchProps + ": " + e .getMessage ());
814807 }
0 commit comments