Fix freeze when quitting the app trough back button

This commit is contained in:
Gabriel Calero 2018-05-10 18:01:50 -03:00
parent 843282739e
commit c6f93a17eb
3 changed files with 23 additions and 4 deletions

View file

@ -25,6 +25,8 @@ import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import org.qtproject.qt5.android.bindings.QtActivity;
import io.highfidelity.hifiinterface.view.DomainAdapter;
public class HomeActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
@ -234,7 +236,8 @@ public class HomeActivity extends AppCompatActivity implements NavigationView.On
}
@Override
public void onBackPressed() {
finishAffinity();
QtActivity.forceQuit();
finish();
}
public void onSearchClear(View view) {

View file

@ -63,7 +63,6 @@ public class PermissionChecker extends Activity {
}
private void launchActivityWithPermissions(){
finish();
Intent i = new Intent(this, InterfaceActivity.class);
startActivity(i);
finish();

View file

@ -69,6 +69,9 @@ public class QtActivity extends Activity {
private QtActivityLoader m_loader = new QtActivityLoader(this);
public boolean isLoading;
private boolean forcedQuit;
public static QtActivity instance;
public QtActivity() {
}
@ -237,6 +240,7 @@ public class QtActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
onCreateHook(savedInstanceState);
instance = this;
}
//---------------------------------------------------------------------------
@ -362,6 +366,7 @@ public class QtActivity extends Activity {
protected void onDestroy() {
super.onDestroy();
QtApplication.invokeDelegate();
instance = null;
}
//---------------------------------------------------------------------------
@ -504,7 +509,7 @@ public class QtActivity extends Activity {
// GC: this trick allow us to show a splash activity until Qt app finishes
// loading
if (!isLoading) {
//QtApplication.invokeDelegate();
QtApplication.invokeDelegate();
}
}
//---------------------------------------------------------------------------
@ -638,14 +643,26 @@ public class QtActivity extends Activity {
protected void onStart() {
super.onStart();
QtApplication.invokeDelegate();
if (forcedQuit) {
finish();
}
}
//---------------------------------------------------------------------------
@Override
protected void onStop() {
super.onStop();
//QtApplication.invokeDelegate();
if (forcedQuit) {
QtApplication.invokeDelegate();
}
}
public static void forceQuit() {
if (instance != null) {
instance.forcedQuit = true;
}
}
//---------------------------------------------------------------------------
@Override