at.alladin.rmbt.android.terms.RMBTTermsActivity.java Source code

Java tutorial

Introduction

Here is the source code for at.alladin.rmbt.android.terms.RMBTTermsActivity.java

Source

/*******************************************************************************
 * Copyright 2013-2016 alladin-IT GmbH
 * 
 * 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 at.alladin.rmbt.android.terms;

import android.graphics.PixelFormat;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.Window;
import android.view.WindowManager;
import at.alladin.openrmbt.android.R;
import at.alladin.rmbt.android.main.AppConstants;
import at.alladin.rmbt.android.terms.RMBTCheckFragment.CheckType;

public class RMBTTermsActivity extends FragmentActivity {
    public final static String EXTRA_KEY_CHECK_TYPE = "check_type";

    public final static String EXTRA_KEY_CHECK_TERMS_AND_COND = "check_t&c";

    private CheckType checkType = null;

    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        boolean showTermsAndConditions = true;

        if (getIntent().getExtras() != null) {
            final String checkTypeName = getIntent().getExtras().getString(EXTRA_KEY_CHECK_TYPE, null);
            if (checkTypeName != null) {
                checkType = CheckType.valueOf(checkTypeName);
            }

            showTermsAndConditions = getIntent().getExtras().getBoolean(EXTRA_KEY_CHECK_TERMS_AND_COND, true);
        }

        final Window window = getWindow();
        window.setFormat(PixelFormat.RGBA_8888);
        window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);

        if (savedInstanceState == null) {
            if (showTermsAndConditions) {
                showTermsCheck();
            } else {
                continueWorkflow();
            }
        }
    }

    public void continueWorkflow() {
        switch (checkType) {
        case LOOP_MODE:
            showLoopModeCheck();
            break;
        case NDT:
            showNdtCheck();
            break;
        }
    }

    @Override
    public void onBackPressed() {
        final boolean showTermsAndConditions = getIntent().getExtras().getBoolean(EXTRA_KEY_CHECK_TERMS_AND_COND,
                true);
        if (!showTermsAndConditions) {
            finish();
        } else {
            super.onBackPressed();
        }
    }

    public void showTermsCheck() {
        final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_content, RMBTTermsCheckFragment.newInstance(checkType), "terms_check");
        ft.commit();
        setTitle("terms_check");
    }

    public void showLoopModeCheck() {
        final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_content, RMBTCheckFragment.newInstance(CheckType.LOOP_MODE),
                AppConstants.PAGE_TITLE_LOOP_MODE_CHECK);
        ft.addToBackStack(AppConstants.PAGE_TITLE_LOOP_MODE_CHECK);
        ft.commit();
        setTitle(AppConstants.PAGE_TITLE_LOOP_MODE_CHECK);
    }

    public void showNdtCheck() {
        final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_content, RMBTCheckFragment.newInstance(CheckType.NDT),
                AppConstants.PAGE_TITLE_NDT_CHECK);
        ft.addToBackStack(AppConstants.PAGE_TITLE_NDT_CHECK);
        ft.commit();
        setTitle(AppConstants.PAGE_TITLE_NDT_CHECK);
    }

    public void setTitle(String fragName) {
        Integer id = null;
        if (fragName != null)
            id = AppConstants.TITLE_MAP.get(fragName);
        if (id == null)
            id = R.string.terms;
        getActionBar().setTitle(id);
    }
}