@@ -73,6 +73,7 @@ public void extract() {
7373 case "fernflower" :
7474 decompileWithFernFlower (jarInputFile , javaOutputDir );
7575 break ;
76+
7677 }
7778
7879 }
@@ -83,41 +84,38 @@ private void decompileWithCFR(File jarInputFile, File javaOutputDir){
8384
8485 Options options = null ;
8586 try {
86- options = (Options ) getOptParser .parse (args , OptionsImpl .getFactory ());
87- } catch (Exception e ) {
88- Crashlytics .logException (e );
89- broadcastStatus ("exit_process_on_error" );
90- }
91-
92- if (!options .optionIsSet (OptionsImpl .HELP ) && options .getOption (OptionsImpl .FILENAME ) != null ) {
93- ClassFileSourceImpl classFileSource = new ClassFileSourceImpl (options );
94- final DCCommonState dcCommonState = new DCCommonState (options , classFileSource );
95- final String path = (String )options .getOption (OptionsImpl .FILENAME );
96- String type = (String )options .getOption (OptionsImpl .ANALYSE_AS );
97- if (type == null ) {
98- type = dcCommonState .detectClsJar (path );
99- }
100-
101- ThreadGroup group = new ThreadGroup ("Jar 2 Java Group" );
102- Thread javaExtractionThread = new Thread (group , new Runnable () {
103- @ Override
104- public void run () {
105- boolean javaError = false ;
106- try {
107- Main .doJar (dcCommonState , path );
108- } catch (Exception | StackOverflowError e ) {
109- Ln .e (e );
110- javaError = true ;
87+ options = getOptParser .parse (args , OptionsImpl .getFactory ());
88+
89+ if (!options .optionIsSet (OptionsImpl .HELP ) && options .getOption (OptionsImpl .FILENAME ) != null ) {
90+ ClassFileSourceImpl classFileSource = new ClassFileSourceImpl (options );
91+ final DCCommonState dcCommonState = new DCCommonState (options , classFileSource );
92+ final String path = options .getOption (OptionsImpl .FILENAME );
93+
94+ ThreadGroup group = new ThreadGroup ("Jar 2 Java Group" );
95+ Thread javaExtractionThread = new Thread (group , new Runnable () {
96+ @ Override
97+ public void run () {
98+ boolean javaError = false ;
99+ try {
100+ Main .doJar (dcCommonState , path );
101+ } catch (Exception | StackOverflowError e ) {
102+ Ln .e (e );
103+ javaError = true ;
104+ }
105+ startXMLExtractor (!javaError );
111106 }
112- startXMLExtractor (!javaError );
113- }
114- }, "Jar to Java Thread" , processService .STACK_SIZE );
107+ }, "Jar to Java Thread" , processService .STACK_SIZE );
115108
116- javaExtractionThread .setPriority (Thread .MAX_PRIORITY );
117- javaExtractionThread .setUncaughtExceptionHandler (exceptionHandler );
118- javaExtractionThread .start ();
109+ javaExtractionThread .setPriority (Thread .MAX_PRIORITY );
110+ javaExtractionThread .setUncaughtExceptionHandler (exceptionHandler );
111+ javaExtractionThread .start ();
119112
120- } else {
113+ } else {
114+ broadcastStatus ("exit_process_on_error" );
115+ }
116+
117+ } catch (Exception e ) {
118+ Crashlytics .logException (e );
121119 broadcastStatus ("exit_process_on_error" );
122120 }
123121
0 commit comments