Change dali demo launching using DaliDemoNativeActivity JNI.
[platform/core/uifw/dali-demo.git] / build / android / app / src / main / java / com / sec / dalidemo / DaliDemoNativeActivity.java
1 package com.sec.dalidemo;
2
3 import android.annotation.TargetApi;
4 import android.app.NativeActivity;
5 import android.content.ComponentName;
6 import android.content.Context;
7 import android.content.Intent;
8 import android.content.pm.ActivityInfo;
9 import android.content.pm.ApplicationInfo;
10 import android.content.pm.PackageManager;
11 import android.os.Bundle;
12 import android.view.View;
13 import android.view.WindowManager;
14
15 public class DaliDemoNativeActivity extends NativeActivity {
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19
20         // Hide toolbar
21         int SDK_INT = android.os.Build.VERSION.SDK_INT;
22         if(SDK_INT >= 19)
23         {
24             setImmersiveSticky();
25
26             View decorView = getWindow().getDecorView();
27             decorView.setOnSystemUiVisibilityChangeListener
28                     (new View.OnSystemUiVisibilityChangeListener() {
29                         @Override
30                         public void onSystemUiVisibilityChange(int visibility) {
31                             setImmersiveSticky();
32                         }
33                     });
34         }
35     }
36
37     @TargetApi(19)
38     void setImmersiveSticky() {
39         View decorView = getWindow().getDecorView();
40         decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
41                 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
42                 | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
43                 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
44                 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
45                 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
46     }
47
48     @TargetApi(19)
49     protected void onResume() {
50         super.onResume();
51
52         //Hide toolbar
53         int SDK_INT = android.os.Build.VERSION.SDK_INT;
54         if (SDK_INT >= 11 && SDK_INT < 14)
55         {
56             getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
57         }
58         else if (SDK_INT >= 14 && SDK_INT < 19)
59         {
60             getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE);
61         }
62         else if (SDK_INT >= 19)
63         {
64             setImmersiveSticky();
65         }
66     }
67
68     protected void onPause() {
69         super.onPause();
70     }
71
72     public final void setSoftInputMode(boolean visible) {
73         if (visible) {
74             getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
75         }
76         else {
77             getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
78         }
79     }
80
81     public final String getMetaData(String key) {
82         try {
83             ActivityInfo ai = getApplicationContext().getPackageManager()
84                     .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
85             Bundle bundle = ai.metaData;
86             if (bundle != null)
87                 return bundle.getString(key);
88         } catch (PackageManager.NameNotFoundException e) {
89             e.printStackTrace();
90         }
91
92         return null;
93     }
94
95     public final String getIntentStringExtra(String key) {
96         return getIntent().getStringExtra(key);
97     }
98
99     public final void launchExample(String exampleName) {
100         Intent intent = new Intent(this, DaliDemoNativeActivity.class);
101         intent.putExtra("start", exampleName);
102         startActivity(intent);
103     }
104 }