// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.oliodevices.assist.app.activities; import android.app.Dialog; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObserver; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewPropertyAnimator; import android.webkit.WebView; import android.widget.TextView; import android.widget.Toast; import butterknife.ButterKnife; import com.google.android.gms.analytics.Tracker; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.location.LocationServices; import com.google.android.gms.location.places.Places; import com.google.android.gms.maps.model.LatLng; import com.olio.data.object.unit.ui.TimeZoneBuilder; import com.olio.data.object.unit.ui.TimeZones; import com.olio.data.object.unit.ui.WatchName; import com.olio.data.object.unit.ui.WatchNameBuilder; import com.olio.data.object.user.LocationBuilder; import com.olio.olios.model.record.SerializedRecord; import com.olio.util.ALog; import com.oliodevices.assist.app.api.ApiResultCallback; import com.oliodevices.assist.app.api.OlioApi; import com.oliodevices.assist.app.api.UserManager; import com.oliodevices.assist.app.api.models.AppRequirementsResponse; import com.oliodevices.assist.app.core.OlioApplication; import com.oliodevices.assist.app.core.Utils; import com.oliodevices.assist.app.events.UserLoggedOutEvent; import com.oliodevices.assist.app.fragments.AboutFragment; import com.oliodevices.assist.app.fragments.AccountInfoFragment; import com.oliodevices.assist.app.fragments.AddTimeZoneFragment; import com.oliodevices.assist.app.fragments.BaseFragment; import com.oliodevices.assist.app.fragments.ChangeWatchNameFragment; import com.oliodevices.assist.app.fragments.ConfigWatchFragment; import com.oliodevices.assist.app.fragments.NavigationFragment; import com.oliodevices.assist.app.fragments.PersonalInfoFragment; import com.oliodevices.assist.app.fragments.RulesFragment; import com.oliodevices.assist.app.fragments.ServicesFragment; import com.oliodevices.assist.app.fragments.SetupConnectFailedFragment; import com.oliodevices.assist.app.fragments.SetupConnectFragment; import com.oliodevices.assist.app.fragments.TitleChanger; import com.squareup.otto.Bus; import java.util.Iterator; import java.util.Objects; import java.util.Set; import org.apache.commons.lang3.StringUtils; import retrofit.RetrofitError; import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; // Referenced classes of package com.oliodevices.assist.app.activities: // SetupActivityCallbacks, SetupActivity public class MainActivity extends AppCompatActivity implements com.oliodevices.assist.app.fragments.NavigationFragment.NavigationCallbacks, com.oliodevices.assist.app.fragments.ConfigWatchFragment.ConfigWatchCallbacks, com.oliodevices.assist.app.fragments.AddTimeZoneFragment.AddTimeZoneCallback, SetupActivityCallbacks, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener, com.oliodevices.assist.app.fragments.ChangeWatchNameFragment.ChangeNameCallbacks { public static class ErrorDialogFragment extends DialogFragment { public Dialog onCreateDialog(Bundle bundle) { return GooglePlayServicesUtil.getErrorDialog(getArguments().getInt("dialog_error"), getActivity(), 1); } public void onDismiss(DialogInterface dialoginterface) { ((MainActivity)getActivity()).onDialogDismissed(); } public ErrorDialogFragment() { } } static final boolean $assertionsDisabled; private static final String DIALOG_ERROR = "dialog_error"; private static final int REQUEST_RESOLVE_ERROR = 1; private static final String STATE_RESOLVING_ERROR = "resolving_error"; private static final String TAG_CONFIG_FRAGMENT = "config_fragment"; private static final String TAG_CONNECT_FRAGMENT = "connect_fragment"; DrawerLayout mDrawerLayout; private GoogleApiClient mGoogleApiClient; private ContentObserver mLocationObserver; View mProgress; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { final MainActivity this$0; public void onReceive(Context context, Intent intent) { if (Objects.equals("android.bluetooth.device.action.BOND_STATE_CHANGED", intent.getAction())) { int i = intent.getIntExtra("android.bluetooth.device.extra.BOND_STATE", 0x80000000); if (12 != i && 11 != i) { if (isSelectedAddress((context = (BluetoothDevice)intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE")).getAddress())) { mUserManager.updateUnitId(null); checkUnitBonded(); return; } } } } { this$0 = MainActivity.this; super(); } }; private boolean mResolvingError; TextView mToolbarTitle; private UserManager mUserManager; WebView mWebView; public MainActivity() { mResolvingError = false; } private void checkAppServerCompatibility() { OlioApi.getInstance().checkAppServerCompatibility(new ApiResultCallback() { final MainActivity this$0; public void failure(RetrofitError retrofiterror) { ALog.e("Unable to check app compatibility", retrofiterror, new Object[0]); } public void success(AppRequirementsResponse apprequirementsresponse) { int i; boolean flag1; flag1 = true; i = 0; int j = Integer.parseInt(apprequirementsresponse.apkMinVersion); i = j; _L1: Exception exception; boolean flag; if (54 >= i) { flag = flag1; } else { flag = false; } if (!flag) { (new android.app.AlertDialog.Builder(MainActivity.this)).setTitle(0x7f06003e).setMessage(apprequirementsresponse.message).setCancelable(false).setNegativeButton(0x7f0600bd, new android.content.DialogInterface.OnClickListener() { final _cls4 this$1; public void onClick(DialogInterface dialoginterface, int i) { Utils.launchPlayStore(_fld0); } { this$1 = _cls4.this; super(); } }).show(); } return; exception; ALog.e("Bad apkMinVersion: %s", new Object[] { apprequirementsresponse.apkMinVersion }); goto _L1 } public volatile void success(Object obj) { success((AppRequirementsResponse)obj); } { this$0 = MainActivity.this; super(); } }); } private void checkUnitBonded() { ALog.d("checkUnitBonded", new Object[0]); boolean flag = isBonded(); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment == null || (fragment instanceof ConfigWatchFragment) || (fragment instanceof SetupConnectFragment)) { if (flag) { showConfigFragment(); } else { mUserManager.updateUnitId(null); showConnectFragment(); } } if (flag) { Utils.startServices(this); return; } else { Utils.stopServices(this); mUserManager.updateUnitId(null); return; } } private boolean checkUnitBondedAndShowConfigPage() { boolean flag = isBonded(); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (flag) { if (!(fragment instanceof ConfigWatchFragment)) { hideProgress(); showConfigFragment(); Utils.startServices(this); } return flag; } else { showConnectFragment(); Utils.stopServices(this); mUserManager.updateUnitId(null); return flag; } } private String getSelectedUnitId() { return mUserManager.getUnitId(); } private boolean isBonded() { String s = getSelectedUnitId(); if (!StringUtils.isEmpty(s)) goto _L2; else goto _L1 _L1: return false; _L2: Object obj; obj = BluetoothAdapter.getDefaultAdapter().getBondedDevices(); if (obj == null) { break MISSING_BLOCK_LABEL_62; } obj = ((Set) (obj)).iterator(); _L5: if (!((Iterator) (obj)).hasNext()) goto _L1; else goto _L3 _L3: if (!Objects.equals(s, ((BluetoothDevice)((Iterator) (obj)).next()).getAddress())) goto _L5; else goto _L4 _L4: return true; ALog.e("error getting bonded devices", new Object[0]); return false; } private boolean isSelectedAddress(String s) { return Objects.equals(getSelectedUnitId(), s); } private void observeLocationChanges() { Uri uri = SerializedRecord.uriForObject("locations", null, getContentResolver()); if (uri == null) { return; } else { mLocationObserver = new ContentObserver(new Handler()) { final MainActivity this$0; public void onChange(boolean flag, Uri uri1) { super.onChange(flag, uri1); uri1 = new Intent("com.olio.detector:LOCATION_DETECTOR_CMD"); uri1.putExtra("OLIO_COMMAND", 5); sendBroadcast(uri1); } { this$0 = MainActivity.this; super(handler); } }; getContentResolver().registerContentObserver(uri, true, mLocationObserver); return; } } private void onDialogDismissed() { mResolvingError = false; } private void registerBluetoothReceivers() { registerReceiver(mReceiver, new IntentFilter("android.bluetooth.device.action.BOND_STATE_CHANGED")); } private void removeLocationObserver() { while (SerializedRecord.uriForObject("locations", null, getContentResolver()) == null || mLocationObserver == null) { return; } getContentResolver().unregisterContentObserver(mLocationObserver); mLocationObserver = null; } private void replaceContentsWithFragment(Fragment fragment) { getSupportFragmentManager().beginTransaction().setCustomAnimations(0x7f04000d, 0x7f04000e, 0x7f04000c, 0x7f04000f).replace(0x7f0d0067, fragment).addToBackStack(null).commit(); } private void showConfigFragment() { showConfigFragment(false); } private void showConfigFragment(boolean flag) { FragmentManager fragmentmanager; Object obj; fragmentmanager = getSupportFragmentManager(); obj = fragmentmanager.findFragmentById(0x7f0d005b); if (!(obj instanceof ConfigWatchFragment)) goto _L2; else goto _L1 _L1: obj = (ConfigWatchFragment)obj; if (flag) { ((ConfigWatchFragment) (obj)).setRetailModeConfirmationVisibility(true); } if (!Objects.equals(((ConfigWatchFragment) (obj)).getDeviceAddress(), getSelectedUnitId())) goto _L2; else goto _L3 _L3: ((ConfigWatchFragment) (obj)).setActivityTitle(this); _L5: return; _L2: ConfigWatchFragment configwatchfragment = ConfigWatchFragment.newInstance(getSelectedUnitId()); fragmentmanager.beginTransaction().replace(0x7f0d005b, configwatchfragment, "config_fragment").setCustomAnimations(0x10a0000, 0x10a0001, 0x10a0000, 0x10a0001).commitAllowingStateLoss(); fragmentmanager.executePendingTransactions(); invalidateOptionsMenu(); if (flag) { configwatchfragment.setRetailModeConfirmationVisibility(true); return; } if (true) goto _L5; else goto _L4 _L4: } private void showConfigPageForWatch() { showConfigPageForWatch(false); } private void showConfigPageForWatch(boolean flag) { if (isPaired()) { if (!flag); showConfigFragment(false); return; } else { showConnectFragment(); Utils.stopServices(this); return; } } private void showConnectFailed() { SetupConnectFailedFragment setupconnectfailedfragment = new SetupConnectFailedFragment(); getSupportFragmentManager().beginTransaction().replace(0x7f0d005b, setupconnectfailedfragment).setCustomAnimations(0x10a0000, 0x10a0003, 0x10a0002, 0x10a0001).addToBackStack(null).commit(); } private void showConnectFragment() { if (getSupportFragmentManager().findFragmentById(0x7f0d005b) instanceof SetupConnectFragment) { return; } else { SetupConnectFragment setupconnectfragment = new SetupConnectFragment(); getSupportFragmentManager().beginTransaction().replace(0x7f0d005b, setupconnectfragment, "connect_fragment").setCustomAnimations(0x10a0000, 0x10a0003, 0x10a0002, 0x10a0001).commitAllowingStateLoss(); setupconnectfragment.setActivityTitle(this); return; } } private void showErrorDialog(int i) { ErrorDialogFragment errordialogfragment = new ErrorDialogFragment(); Bundle bundle = new Bundle(); bundle.putInt("dialog_error", i); errordialogfragment.setArguments(bundle); errordialogfragment.show(getSupportFragmentManager(), "dialog_error"); } private void updateHomeButton() { if (getSupportActionBar() != null) { Object obj = getSupportFragmentManager(); ((NavigationFragment)((FragmentManager) (obj)).findFragmentById(0x7f0d0069)).updateDrawerIndicator(); obj = ((FragmentManager) (obj)).findFragmentById(0x7f0d005b); if (obj instanceof TitleChanger) { ((TitleChanger)obj).setActivityTitle(this); } } } private void updateNavigationDrawer() { NavigationFragment navigationfragment = (NavigationFragment)getSupportFragmentManager().findFragmentById(0x7f0d0069); if (navigationfragment != null) { navigationfragment.updateWatchLabel(); } } protected void attachBaseContext(Context context) { super.attachBaseContext(CalligraphyContextWrapper.wrap(context)); } public BluetoothDevice getDevice(String s) { label0: { Object obj = BluetoothAdapter.getDefaultAdapter().getBondedDevices(); if (obj == null) { break label0; } obj = ((Set) (obj)).iterator(); BluetoothDevice bluetoothdevice; do { if (!((Iterator) (obj)).hasNext()) { break label0; } bluetoothdevice = (BluetoothDevice)((Iterator) (obj)).next(); } while (!Objects.equals(bluetoothdevice.getAddress(), s)); return bluetoothdevice; } return null; } public GoogleApiClient getGoogleApiClient() { return mGoogleApiClient; } public void goToConfigScreen(int i) { Object obj; obj = null; mDrawerLayout.closeDrawers(); i; JVM INSTR tableswitch 0 9: default 64 // 0 162 // 1 134 // 2 148 // 3 173 // 4 184 // 5 195 // 6 206 // 7 217 // 8 228 // 9 167; goto _L1 _L2 _L3 _L4 _L5 _L6 _L7 _L8 _L9 _L10 _L11 _L1: ALog.d("Unknow option: %d", new Object[] { Integer.valueOf(i) }); _L13: OlioApplication.getApplication().reportUserAction("goToConfigScreen", "MainActivity", i); if (obj != null) { FragmentManager fragmentmanager = getSupportFragmentManager(); FragmentTransaction fragmenttransaction = fragmentmanager.beginTransaction(); fragmenttransaction.replace(0x7f0d005b, ((Fragment) (obj))); fragmenttransaction.commit(); fragmentmanager.executePendingTransactions(); invalidateOptionsMenu(); } return; _L3: Toast.makeText(this, "Suggestions", 0).show(); continue; /* Loop/switch isn't completed */ _L4: Toast.makeText(this, "Activity", 0).show(); continue; /* Loop/switch isn't completed */ _L2: showConfigPageForWatch(); return; _L11: showConfigPageForWatch(true); return; _L5: obj = new ServicesFragment(); continue; /* Loop/switch isn't completed */ _L6: obj = new RulesFragment(); continue; /* Loop/switch isn't completed */ _L7: obj = new PersonalInfoFragment(); continue; /* Loop/switch isn't completed */ _L8: obj = new AccountInfoFragment(); continue; /* Loop/switch isn't completed */ _L9: mWebView.loadUrl("https://support.oliodevices.com"); return; _L10: obj = new AboutFragment(); if (true) goto _L13; else goto _L12 _L12: } public void goToScreen(int i) { i; JVM INSTR tableswitch 7 9: default 28 // 7 82 // 8 56 // 9 75; goto _L1 _L2 _L3 _L4 _L1: ALog.e("Invalid screen, ignoring!!", new Object[0]); _L6: ((OlioApplication)getApplication()).reportUserAction("goToScreen", "MainActivity", i); return; _L3: if (checkUnitBondedAndShowConfigPage()) { mGoogleApiClient.connect(); } continue; /* Loop/switch isn't completed */ _L4: showConnectFailed(); continue; /* Loop/switch isn't completed */ _L2: showConnectFragment(); if (true) goto _L6; else goto _L5 _L5: } public void handleUnpairing() { ((OlioApplication)getApplication()).reportWatchTracking("Unpair", UserManager.getInstance().getEmailForAnalytics(), 0); startActivity(new Intent(this, com/oliodevices/assist/app/activities/SetupActivity)); finish(); } public void hideProgress() { mProgress.setVisibility(8); } public void hideTitle() { if (mToolbarTitle != null) { mToolbarTitle.animate().alpha(0.0F); } } public boolean isPaired() { return !StringUtils.isEmpty(getSelectedUnitId()); } protected void onActivityResult(int i, int j, Intent intent) { if (i == 1) { mResolvingError = false; if (j == -1 && !mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) { mGoogleApiClient.connect(); } return; } else { super.onActivityResult(i, j, intent); return; } } public void onAddTimeZone() { replaceContentsWithFragment(new AddTimeZoneFragment()); } public void onBackPressed() { Fragment fragment1 = getSupportFragmentManager().findFragmentById(0x7f0d0067); Fragment fragment = fragment1; if (fragment1 == null) { fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); } if ((fragment instanceof BaseFragment) && ((BaseFragment)fragment).onBackPressed()) { return; } else { Utils.hideKeyboard(this); super.onBackPressed(); ((OlioApplication)getApplication()).reportUserAction("backAction", "MainActivity", 0); return; } } public void onChangeName(String s) { replaceContentsWithFragment(ChangeWatchNameFragment.newInstance(s)); ((OlioApplication)getApplication()).reportUserAction("onChangeName", s, 0); } public void onConnectionFailed(ConnectionResult connectionresult) { if (mResolvingError) { return; } if (connectionresult.hasResolution()) { try { mResolvingError = true; connectionresult.startResolutionForResult(this, 1); return; } // Misplaced declaration of an exception variable catch (ConnectionResult connectionresult) { mGoogleApiClient.connect(); } return; } else { showErrorDialog(connectionresult.getErrorCode()); mResolvingError = true; return; } } public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(0x7f03001b); ButterKnife.inject(this); Toolbar toolbar = (Toolbar)ButterKnife.findById(this, 0x7f0d0064); setSupportActionBar(toolbar); Utils.fixToolbarTypefaceHack(getResources(), toolbar); ActionBar actionbar = getSupportActionBar(); if (!$assertionsDisabled && actionbar == null) { throw new AssertionError(); } actionbar.setDisplayShowHomeEnabled(true); actionbar.setDisplayHomeAsUpEnabled(true); ((NavigationFragment)getSupportFragmentManager().findFragmentById(0x7f0d0069)).setup(0x7f0d0069, mDrawerLayout, toolbar); mUserManager = UserManager.getInstance(); if (bundle != null) { mResolvingError = bundle.getBoolean("resolving_error", false); } getSupportFragmentManager().addOnBackStackChangedListener(new android.support.v4.app.FragmentManager.OnBackStackChangedListener() { final MainActivity this$0; public void onBackStackChanged() { invalidateOptionsMenu(); updateHomeButton(); } { this$0 = MainActivity.this; super(); } }); mGoogleApiClient = (new com.google.android.gms.common.api.GoogleApiClient.Builder(this)).addApi(Places.GEO_DATA_API).addApi(Places.PLACE_DETECTION_API).addApi(LocationServices.API).addOnConnectionFailedListener(this).build(); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(0x7f0e0001, menu); return true; } protected void onDestroy() { super.onDestroy(); OlioApplication.getApplication().reportWatchTracking("appTerminated", UserManager.getInstance().getEmailForAnalytics(), 0); } public void onDeviceNameChanged(String s) { WatchNameBuilder.aWatchName().setUnitId(getSelectedUnitId()).setName(s).build().save(getContentResolver()); getSupportFragmentManager().popBackStack(); ((OlioApplication)getApplication()).reportUserAction("onDeviceNameChanged", s, 0); } public boolean onOptionsItemSelected(MenuItem menuitem) { boolean flag = true; menuitem.getItemId(); JVM INSTR lookupswitch 2: default 36 // 16908332: 44 // 2131558807: 54; goto _L1 _L2 _L3 _L1: flag = super.onOptionsItemSelected(menuitem); _L5: return flag; _L2: Utils.hideKeyboard(this); onBackPressed(); return true; _L3: Utils.hideKeyboard(this); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof ServicesFragment) { menuitem.setTitle(((ServicesFragment)fragment).toggleMode()); return true; } if (true) goto _L5; else goto _L4 _L4: } protected void onPause() { super.onPause(); OlioApplication.getApplication().getBus().unregister(this); removeLocationObserver(); try { unregisterReceiver(mReceiver); return; } catch (IllegalArgumentException illegalargumentexception) { return; } } public void onPlaceSelected(String s, String s1, LatLng latlng) { s1 = TimeZoneBuilder.aTimeZone().setDisplayName(s).setOlsonId(s1).setLocation(LocationBuilder.aLocation().setLatitude(latlng.latitude).setLongitude(latlng.longitude).setDisplayName(s).setDisplayAddress(s).build()).setEnabled(true).build(); latlng = TimeZones.get(getContentResolver()); latlng.addTimeZone(s1); latlng.save(getContentResolver()); getSupportFragmentManager().popBackStack(); ((OlioApplication)getApplication()).reportUserAction("onPlaceSelected", s, 0); } public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); getSupportFragmentManager().findFragmentById(0x7f0d005b); menu.findItem(0x7f0d0197).setVisible(false); return true; } protected void onResume() { super.onResume(); OlioApplication.getApplication().getBus().register(this); mUserManager = UserManager.getInstance(); registerBluetoothReceivers(); mDrawerLayout.closeDrawers(); Tracker tracker; if (BluetoothAdapter.getDefaultAdapter().isEnabled()) { Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (!(fragment instanceof SetupConnectFragment) || ((SetupConnectFragment)fragment).getPairState() != 1) { checkUnitBonded(); } } else if (!StringUtils.isEmpty(mUserManager.getUnitId())) { startActivity(new Intent("android.bluetooth.adapter.action.REQUEST_ENABLE")); } else { showConnectFragment(); } observeLocationChanges(); tracker = ((OlioApplication)getApplication()).getDefaultTracker(); if (tracker != null) { tracker.setScreenName("MainActivity"); tracker.send((new com.google.android.gms.analytics.HitBuilders.ScreenViewBuilder()).build()); } checkAppServerCompatibility(); } protected void onSaveInstanceState(Bundle bundle) { super.onSaveInstanceState(bundle); bundle.putBoolean("resolving_error", mResolvingError); } protected void onStart() { super.onStart(); if (!mResolvingError) { mGoogleApiClient.connect(); } } protected void onStop() { mGoogleApiClient.disconnect(); super.onStop(); } public void onUserLoggedOut(UserLoggedOutEvent userloggedoutevent) { startActivity(new Intent(this, com/oliodevices/assist/app/activities/SetupActivity)); finish(); OlioApplication.getApplication().reportUserAction("onUserLoggedOut", UserManager.getInstance().getEmailForAnalytics(), 0); } public void openWebPage(String s) { } public void refreshUI() { } public void setTitle(CharSequence charsequence) { super.setTitle(charsequence); Toolbar toolbar = (Toolbar)ButterKnife.findById(this, 0x7f0d0064); if (toolbar != null) { toolbar.setTitle(""); } if (mToolbarTitle != null) { mToolbarTitle.setText(charsequence); showTitle(); } } public void showProgress() { showProgress(true); } public void showProgress(boolean flag) { mProgress.setVisibility(0); } public void showTitle() { if (mToolbarTitle != null) { mToolbarTitle.animate().alpha(1.0F); } } public void startApp() { } public void startAssistant() { } static { boolean flag; if (!com/oliodevices/assist/app/activities/MainActivity.desiredAssertionStatus()) { flag = true; } else { flag = false; } $assertionsDisabled = flag; } }