/* * Copyright (C) 2016 Google Inc. All Rights Reserved. * * 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.google.android.apps.santatracker.games.jetpack; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import com.google.android.apps.santatracker.R; import com.google.android.apps.santatracker.games.gamebase.SceneActivity; import com.google.android.apps.santatracker.games.simpleengine.Scene; import com.google.android.apps.santatracker.games.simpleengine.SceneManager; import com.google.android.apps.santatracker.launch.StartupActivity; import com.google.android.apps.santatracker.presentquest.ui.PlayJetpackDialog; import com.google.android.apps.santatracker.util.AnalyticsManager; import com.google.android.apps.santatracker.util.MeasurementManager; import com.google.firebase.analytics.FirebaseAnalytics; public class JetpackActivity extends SceneActivity implements SensorEventListener { public static final String JETPACK_SCORE = "jetpack_score"; private FirebaseAnalytics mMeasurement; public JetpackActivity() { super(R.layout.activity_jetpack, StartupActivity.class); // [ANALYTICS SCREEN]: Jetpack AnalyticsManager.sendScreenView(R.string.analytics_screen_jetpack); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // App Measurement mMeasurement = FirebaseAnalytics.getInstance(this); MeasurementManager.recordScreenView(mMeasurement, getString(R.string.analytics_screen_jetpack)); boolean presentIsLarge = false; if(getIntent() != null && getIntent().getExtras() != null) { presentIsLarge = getIntent().getExtras().getBoolean( PlayJetpackDialog.EXTRA_LARGE_PRESENT, false); } SceneManager.getInstance().setLargePresentMode(presentIsLarge); SensorManager sensorManager = (SensorManager) getSystemService(Activity.SENSOR_SERVICE); Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); if (sensor != null) { sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST); } } @Override public void onPause() { super.onPause(); SensorManager sensorManager = (SensorManager) getSystemService(Activity.SENSOR_SERVICE); sensorManager.unregisterListener(this); } private boolean isDebug() { return getPackageName().contains("debug"); } @Override protected Scene getGameScene() { return new JetpackScene(); } @Override public void onBackPressed() { boolean handled = false; Scene scene = SceneManager.getInstance().getCurrentScene(); if (scene instanceof JetpackScene) { handled = ((JetpackScene) scene).onBackKeyPressed(); } if (!handled) { super.onBackPressed(); } } @Override public void onSensorChanged(SensorEvent event) { SceneManager.getInstance().onSensorChanged(event); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public String getGameId() { return getResources().getString(R.string.jetpack_game_id); } @Override public String getGameTitle() { return getString(R.string.elf_jetpack); } }