com.coincide.alphafitness.ui.Activity_Main.java Source code

Java tutorial

Introduction

Here is the source code for com.coincide.alphafitness.ui.Activity_Main.java

Source

/*
 * Copyright 2013 Thomas Hoffmann
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.coincide.alphafitness.ui;

import android.app.AlertDialog;

import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.method.LinkMovementMethod;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

import com.coincide.alphafitness.R;
import com.coincide.alphafitness.SensorListener;

public class Activity_Main extends AppCompatActivity {

    @Override
    protected void onCreate(final Bundle b) {
        super.onCreate(b);

        //       startService(new Intent(this, SensorListener.class));
        //       stopService(new Intent(this, SensorListener.class));
        if (b == null) {
            // only create fragment if activity is started for the first time
            FragmentManager mFragmentManager = getSupportFragmentManager();
            FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();

            Fragment_Main fragment = new Fragment_Main();

            fragmentTransaction.add(android.R.id.content, fragment);
            fragmentTransaction.commit();
        } else {
            // do nothing - fragment is recreated automatically
        }

        /*if (b == null) {
        Fragment_Main test = new Fragment_Main();
        test.setArguments(getIntent().getExtras());
        getSupportFragmentManager().beginTransaction().replace(android.R.id.content, test, "your_fragment_tag").commit();
        } else {
        Fragment_Main test = (Fragment_Main) getSupportFragmentManager().findFragmentByTag("your_fragment_tag");
        }*/

        /*  if (b == null) {
        // Create new fragment and transaction
        //            Fragment newFragment = new Fragment_Overview();
        Fragment newFragment = new Fragment_Main();
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            
        // Replace whatever is in the fragment_container view with this
        // fragment,
        // and add the transaction to the back stack
        transaction.replace(android.R.id.content, newFragment);
            
        // Commit the transaction
        transaction.commit();
          }*/
    }

    @Override
    public void onBackPressed() {
        if (getFragmentManager().getBackStackEntryCount() > 0) {
            getFragmentManager().popBackStackImmediate();
        } else {
            finish();
        }
    }

    public boolean optionsItemSelected(final MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            getFragmentManager().popBackStackImmediate();
            break;
        case R.id.action_settings:
            getFragmentManager().beginTransaction().replace(android.R.id.content, new Fragment_Settings())
                    .addToBackStack(null).commit();
            break;
        case R.id.action_leaderboard:
        case R.id.action_achievements:
            AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
            builder2.setTitle("Google services required");
            builder2.setMessage("This feature is not available on the F-Droid version of the app");
            builder2.setNegativeButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
            builder2.create().show();
            break;
        case R.id.action_faq:
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://j4velin.de/faq/index.php?app=pm"))
                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
            break;
        case R.id.action_about:
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.about);
            TextView tv = new TextView(this);
            tv.setPadding(10, 10, 10, 10);
            tv.setText(R.string.about_text_links);
            try {
                tv.append(getString(R.string.about_app_version,
                        getPackageManager().getPackageInfo(getPackageName(), 0).versionName));
            } catch (NameNotFoundException e1) {
                // should not happen as the app is definitely installed when
                // seeing the dialog
                e1.printStackTrace();
            }
            tv.setMovementMethod(LinkMovementMethod.getInstance());
            builder.setView(tv);
            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(final DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
            builder.create().show();
            break;
        }
        return true;
    }
}