public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo_activity_main); // enable ActionBar app icon to behave as action to toggle nav drawer getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); _initMenu(); mDrawerToggle = new CustomActionBarDrawerToggle(this, mDrawer); mDrawer.setDrawerListener(mDrawerToggle); // --------------------------------------------------------------- // ... String base64EncodedPublicKey = IabUtil.key; // compute your public key and store it in base64EncodedPublicKey mHelper = new IabHelper(this, base64EncodedPublicKey); mHelper.enableDebugLogging(true); mHelper.startSetup( new IabHelper.OnIabSetupFinishedListener() { public void onIabSetupFinished(IabResult result) { if (!result.isSuccess()) { // Oh noes, there was a problem. Log.d(TAG, "Problem setting up In-app Billing: " + result); return; } // Have we been disposed of in the meantime? If so, quit. if (mHelper == null) return; // Hooray, IAB is fully set up! IabUtil.getInstance().retrieveData(mHelper); } }); // ----------------------------------------------------------------- // BaseFragment baseFragment = null; if (savedInstanceState != null) { mSelectedFragment = savedInstanceState.getInt(BUNDLE_SELECTEDFRAGMENT); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); if (fragmentManager.findFragmentById(R.id.fragment_main) == null) mBaseFragment = selectFragment(mSelectedFragment); // if (mBaseFragment==null) // mBaseFragment = selectFragment(mSelectedFragment); } else { mBaseFragment = new HeaderFragment(); openFragment(mBaseFragment); } // ----------------------------------------------------------------- }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data); // Pass on the activity result to the helper for handling if (!mHelper.handleActivityResult(requestCode, resultCode, data)) { // not handled, so handle it ourselves (here's where you'd // perform any handling of activity results not related to in-app // billing... super.onActivityResult(requestCode, resultCode, data); } else { Log.d(TAG, "onActivityResult handled by IABUtil."); } }
@Override public void onDestroy() { super.onDestroy(); if (mHelper != null) mHelper.dispose(); mHelper = null; }