1*90c8c64dSAndroid Build Coastguard Worker /*
2*90c8c64dSAndroid Build Coastguard Worker * Copyright 2013 The Android Open Source Project
3*90c8c64dSAndroid Build Coastguard Worker *
4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*90c8c64dSAndroid Build Coastguard Worker *
8*90c8c64dSAndroid Build Coastguard Worker *     http://www.apache.org/licenses/LICENSE-2.0
9*90c8c64dSAndroid Build Coastguard Worker *
10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License.
15*90c8c64dSAndroid Build Coastguard Worker */
16*90c8c64dSAndroid Build Coastguard Worker 
17*90c8c64dSAndroid Build Coastguard Worker 
18*90c8c64dSAndroid Build Coastguard Worker package com.example.android.basicimmersivemode;
19*90c8c64dSAndroid Build Coastguard Worker 
20*90c8c64dSAndroid Build Coastguard Worker import android.graphics.Color;
21*90c8c64dSAndroid Build Coastguard Worker import android.os.Bundle;
22*90c8c64dSAndroid Build Coastguard Worker import android.support.v4.app.FragmentTransaction;
23*90c8c64dSAndroid Build Coastguard Worker import android.view.Menu;
24*90c8c64dSAndroid Build Coastguard Worker 
25*90c8c64dSAndroid Build Coastguard Worker import com.example.android.common.activities.SampleActivityBase;
26*90c8c64dSAndroid Build Coastguard Worker import com.example.android.common.logger.Log;
27*90c8c64dSAndroid Build Coastguard Worker import com.example.android.common.logger.LogFragment;
28*90c8c64dSAndroid Build Coastguard Worker import com.example.android.common.logger.LogWrapper;
29*90c8c64dSAndroid Build Coastguard Worker import com.example.android.common.logger.MessageOnlyLogFilter;
30*90c8c64dSAndroid Build Coastguard Worker 
31*90c8c64dSAndroid Build Coastguard Worker /**
32*90c8c64dSAndroid Build Coastguard Worker  * A simple launcher activity containing a summary sample description
33*90c8c64dSAndroid Build Coastguard Worker  * and a few action bar buttons.
34*90c8c64dSAndroid Build Coastguard Worker  */
35*90c8c64dSAndroid Build Coastguard Worker public class MainActivity extends SampleActivityBase {
36*90c8c64dSAndroid Build Coastguard Worker 
37*90c8c64dSAndroid Build Coastguard Worker     public static final String TAG = "MainActivity";
38*90c8c64dSAndroid Build Coastguard Worker 
39*90c8c64dSAndroid Build Coastguard Worker     public static final String FRAGTAG = "BasicImmersiveModeFragment";
40*90c8c64dSAndroid Build Coastguard Worker 
41*90c8c64dSAndroid Build Coastguard Worker     @Override
onCreate(Bundle savedInstanceState)42*90c8c64dSAndroid Build Coastguard Worker     protected void onCreate(Bundle savedInstanceState) {
43*90c8c64dSAndroid Build Coastguard Worker         super.onCreate(savedInstanceState);
44*90c8c64dSAndroid Build Coastguard Worker         setContentView(R.layout.activity_main);
45*90c8c64dSAndroid Build Coastguard Worker 
46*90c8c64dSAndroid Build Coastguard Worker         if (getSupportFragmentManager().findFragmentByTag(FRAGTAG) == null ) {
47*90c8c64dSAndroid Build Coastguard Worker             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
48*90c8c64dSAndroid Build Coastguard Worker             BasicImmersiveModeFragment fragment = new BasicImmersiveModeFragment();
49*90c8c64dSAndroid Build Coastguard Worker             transaction.add(fragment, FRAGTAG);
50*90c8c64dSAndroid Build Coastguard Worker             transaction.commit();
51*90c8c64dSAndroid Build Coastguard Worker         }
52*90c8c64dSAndroid Build Coastguard Worker     }
53*90c8c64dSAndroid Build Coastguard Worker 
54*90c8c64dSAndroid Build Coastguard Worker     @Override
onCreateOptionsMenu(Menu menu)55*90c8c64dSAndroid Build Coastguard Worker     public boolean onCreateOptionsMenu(Menu menu) {
56*90c8c64dSAndroid Build Coastguard Worker         getMenuInflater().inflate(R.menu.main, menu);
57*90c8c64dSAndroid Build Coastguard Worker         return true;
58*90c8c64dSAndroid Build Coastguard Worker     }
59*90c8c64dSAndroid Build Coastguard Worker 
60*90c8c64dSAndroid Build Coastguard Worker     /** Create a chain of targets that will receive log data */
61*90c8c64dSAndroid Build Coastguard Worker     @Override
initializeLogging()62*90c8c64dSAndroid Build Coastguard Worker     public void initializeLogging() {
63*90c8c64dSAndroid Build Coastguard Worker         // Wraps Android's native log framework.
64*90c8c64dSAndroid Build Coastguard Worker         LogWrapper logWrapper = new LogWrapper();
65*90c8c64dSAndroid Build Coastguard Worker         // Using Log, front-end to the logging chain, emulates android.util.log method signatures.
66*90c8c64dSAndroid Build Coastguard Worker         Log.setLogNode(logWrapper);
67*90c8c64dSAndroid Build Coastguard Worker 
68*90c8c64dSAndroid Build Coastguard Worker         // Filter strips out everything except the message text.
69*90c8c64dSAndroid Build Coastguard Worker         MessageOnlyLogFilter msgFilter = new MessageOnlyLogFilter();
70*90c8c64dSAndroid Build Coastguard Worker         logWrapper.setNext(msgFilter);
71*90c8c64dSAndroid Build Coastguard Worker 
72*90c8c64dSAndroid Build Coastguard Worker         // On screen logging via a fragment with a TextView.
73*90c8c64dSAndroid Build Coastguard Worker         LogFragment logFragment = (LogFragment) getSupportFragmentManager()
74*90c8c64dSAndroid Build Coastguard Worker                 .findFragmentById(R.id.log_fragment);
75*90c8c64dSAndroid Build Coastguard Worker         msgFilter.setNext(logFragment.getLogView());
76*90c8c64dSAndroid Build Coastguard Worker         logFragment.getLogView().setTextAppearance(this, R.style.Log);
77*90c8c64dSAndroid Build Coastguard Worker         logFragment.getLogView().setBackgroundColor(Color.WHITE);
78*90c8c64dSAndroid Build Coastguard Worker 
79*90c8c64dSAndroid Build Coastguard Worker 
80*90c8c64dSAndroid Build Coastguard Worker         Log.i(TAG, "Ready");
81*90c8c64dSAndroid Build Coastguard Worker     }
82*90c8c64dSAndroid Build Coastguard Worker }
83