mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	Android: build fixes & compat fixes
This commit is contained in:
		@@ -1,5 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
 | 
			
		||||
 | 
			
		||||
    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
 | 
			
		||||
</manifest>
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
	xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
	package="net.minetest.minetest"
 | 
			
		||||
	android:installLocation="auto">
 | 
			
		||||
 | 
			
		||||
@@ -11,14 +12,14 @@
 | 
			
		||||
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 | 
			
		||||
 | 
			
		||||
	<application
 | 
			
		||||
		android:allowBackup="true"
 | 
			
		||||
		android:icon="@mipmap/ic_launcher"
 | 
			
		||||
		android:label="${project}"
 | 
			
		||||
		android:resizeableActivity="false">
 | 
			
		||||
		android:resizeableActivity="false"
 | 
			
		||||
		tools:targetApi="n">
 | 
			
		||||
 | 
			
		||||
		<meta-data
 | 
			
		||||
			android:name="android.max_aspect"
 | 
			
		||||
			android:value="2.1" />
 | 
			
		||||
			android:value="2.4" />
 | 
			
		||||
 | 
			
		||||
		<activity
 | 
			
		||||
			android:name=".MainActivity"
 | 
			
		||||
@@ -50,10 +51,10 @@
 | 
			
		||||
			android:name=".MinetestTextEntry"
 | 
			
		||||
			android:configChanges="keyboardHidden|orientation|screenSize"
 | 
			
		||||
			android:theme="@style/Theme.Dialog"
 | 
			
		||||
			android:windowSoftInputMode="stateAlwaysHidden"/>
 | 
			
		||||
			android:windowSoftInputMode="stateAlwaysHidden" />
 | 
			
		||||
		<activity
 | 
			
		||||
			android:name=".MinetestAssetCopy"
 | 
			
		||||
			android:screenOrientation="sensorLandscape"
 | 
			
		||||
			android:theme="@style/AppTheme"/>
 | 
			
		||||
			android:theme="@style/AppTheme" />
 | 
			
		||||
	</application>
 | 
			
		||||
</manifest>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,17 +6,17 @@ import android.content.Intent;
 | 
			
		||||
import android.content.pm.PackageManager;
 | 
			
		||||
import android.os.Build;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.v4.app.ActivityCompat;
 | 
			
		||||
import android.support.v4.content.ContextCompat;;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
 | 
			
		||||
import androidx.annotation.NonNull;
 | 
			
		||||
import androidx.core.app.ActivityCompat;
 | 
			
		||||
import androidx.core.content.ContextCompat;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class MainActivity extends Activity {
 | 
			
		||||
 | 
			
		||||
	private final static int PERMISSIONS = 1;
 | 
			
		||||
	private static final String[] REQUIRED_SDK_PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE};
 | 
			
		||||
 | 
			
		||||
@@ -30,8 +30,8 @@ public class MainActivity extends Activity {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected void checkPermission() {
 | 
			
		||||
		final List<String> missingPermissions = new ArrayList<String>();
 | 
			
		||||
	private void checkPermission() {
 | 
			
		||||
		final List<String> missingPermissions = new ArrayList<>();
 | 
			
		||||
		// check required permission
 | 
			
		||||
		for (final String permission : REQUIRED_SDK_PERMISSIONS) {
 | 
			
		||||
			final int result = ContextCompat.checkSelfPermission(this, permission);
 | 
			
		||||
@@ -42,7 +42,7 @@ public class MainActivity extends Activity {
 | 
			
		||||
		if (!missingPermissions.isEmpty()) {
 | 
			
		||||
			// request permission
 | 
			
		||||
			final String[] permissions = missingPermissions
 | 
			
		||||
					.toArray(new String[missingPermissions.size()]);
 | 
			
		||||
					.toArray(new String[0]);
 | 
			
		||||
			ActivityCompat.requestPermissions(this, permissions, PERMISSIONS);
 | 
			
		||||
		} else {
 | 
			
		||||
			final int[] grantResults = new int[REQUIRED_SDK_PERMISSIONS.length];
 | 
			
		||||
@@ -53,25 +53,23 @@ public class MainActivity extends Activity {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[],
 | 
			
		||||
	public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
 | 
			
		||||
										   @NonNull int[] grantResults) {
 | 
			
		||||
		switch (requestCode) {
 | 
			
		||||
			case PERMISSIONS:
 | 
			
		||||
				for (int index = 0; index < permissions.length; index++) {
 | 
			
		||||
					if (grantResults[index] != PackageManager.PERMISSION_GRANTED) {
 | 
			
		||||
						// permission not granted - toast and exit
 | 
			
		||||
						Toast.makeText(this, R.string.not_granted, Toast.LENGTH_LONG).show();
 | 
			
		||||
						finish();
 | 
			
		||||
						return;
 | 
			
		||||
					}
 | 
			
		||||
		if (requestCode == PERMISSIONS) {
 | 
			
		||||
			for (int index = 0; index < permissions.length; index++) {
 | 
			
		||||
				if (grantResults[index] != PackageManager.PERMISSION_GRANTED) {
 | 
			
		||||
					// permission not granted - toast and exit
 | 
			
		||||
					Toast.makeText(this, R.string.not_granted, Toast.LENGTH_LONG).show();
 | 
			
		||||
					finish();
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
				// permission were granted - run
 | 
			
		||||
				next();
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			// permission were granted - run
 | 
			
		||||
			next();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void next() {
 | 
			
		||||
	private void next() {
 | 
			
		||||
		Intent intent = new Intent(this, MtNativeActivity.class);
 | 
			
		||||
		intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
 | 
			
		||||
		startActivity(intent);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package net.minetest.minetest;
 | 
			
		||||
 | 
			
		||||
import android.annotation.SuppressLint;
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.res.AssetFileDescriptor;
 | 
			
		||||
import android.os.AsyncTask;
 | 
			
		||||
@@ -19,13 +20,12 @@ import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.InputStreamReader;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.Vector;
 | 
			
		||||
 | 
			
		||||
public class MinetestAssetCopy extends Activity {
 | 
			
		||||
	ProgressBar m_ProgressBar;
 | 
			
		||||
	TextView m_Filename;
 | 
			
		||||
	copyAssetTask m_AssetCopy;
 | 
			
		||||
	private ProgressBar m_ProgressBar;
 | 
			
		||||
	private TextView m_Filename;
 | 
			
		||||
	private copyAssetTask m_AssetCopy;
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
@@ -53,29 +53,26 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
		super.onResume();
 | 
			
		||||
		makeFullScreen();
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
    	protected void onDestroy() {
 | 
			
		||||
	protected void onDestroy() {
 | 
			
		||||
		super.onDestroy();
 | 
			
		||||
		if (m_AssetCopy != null) {
 | 
			
		||||
			m_AssetCopy.cancel(true);
 | 
			
		||||
		}
 | 
			
		||||
    	}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void makeFullScreen() {
 | 
			
		||||
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
 | 
			
		||||
	private void makeFullScreen() {
 | 
			
		||||
		if (Build.VERSION.SDK_INT >= 19)
 | 
			
		||||
			this.getWindow().getDecorView().setSystemUiVisibility(
 | 
			
		||||
					View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
					View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onWindowFocusChanged(boolean hasFocus) {
 | 
			
		||||
		super.onWindowFocusChanged(hasFocus);
 | 
			
		||||
		if (hasFocus) {
 | 
			
		||||
		if (hasFocus)
 | 
			
		||||
			makeFullScreen();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* preserve asset copy background task to prevent restart of copying */
 | 
			
		||||
@@ -85,7 +82,8 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
		return this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static class copyAssetTask extends AsyncTask<String, Integer, String> {
 | 
			
		||||
	@SuppressLint("StaticFieldLeak")
 | 
			
		||||
	private class copyAssetTask extends AsyncTask<String, Integer, String> {
 | 
			
		||||
		boolean m_copy_started = false;
 | 
			
		||||
		String m_Foldername = "media";
 | 
			
		||||
		Vector<String> m_foldernames;
 | 
			
		||||
@@ -99,7 +97,7 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
				InputStream src = getAssets().open(filename);
 | 
			
		||||
				byte[] buf = new byte[4096];
 | 
			
		||||
 | 
			
		||||
				int len = 0;
 | 
			
		||||
				int len;
 | 
			
		||||
				while ((len = src.read(buf)) > 0) {
 | 
			
		||||
					size += len;
 | 
			
		||||
				}
 | 
			
		||||
@@ -111,10 +109,10 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		protected String doInBackground(String... files) {
 | 
			
		||||
			m_foldernames = new Vector<String>();
 | 
			
		||||
			m_filenames = new Vector<String>();
 | 
			
		||||
			m_tocopy = new Vector<String>();
 | 
			
		||||
			m_asset_size_unknown = new Vector<String>();
 | 
			
		||||
			m_foldernames = new Vector<>();
 | 
			
		||||
			m_filenames = new Vector<>();
 | 
			
		||||
			m_tocopy = new Vector<>();
 | 
			
		||||
			m_asset_size_unknown = new Vector<>();
 | 
			
		||||
			String baseDir =
 | 
			
		||||
					Environment.getExternalStorageDirectory().getAbsolutePath()
 | 
			
		||||
							+ "/";
 | 
			
		||||
@@ -128,9 +126,9 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
			} else {
 | 
			
		||||
				File[] todel = TempFolder.listFiles();
 | 
			
		||||
 | 
			
		||||
				for (int i = 0; i < todel.length; i++) {
 | 
			
		||||
					Log.v("MinetestAssetCopy", "deleting: " + todel[i].getAbsolutePath());
 | 
			
		||||
					todel[i].delete();
 | 
			
		||||
				for (File file : todel) {
 | 
			
		||||
					Log.v("MinetestAssetCopy", "deleting: " + file.getAbsolutePath());
 | 
			
		||||
					file.delete();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@@ -166,9 +164,9 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
					if (m_asset_size_unknown.contains(filename)) {
 | 
			
		||||
						File testme = new File(baseDir + "/" + filename);
 | 
			
		||||
 | 
			
		||||
						if (testme.exists()) {
 | 
			
		||||
						if (testme.exists())
 | 
			
		||||
							filesize = testme.length();
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						asset_size_unknown = true;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
@@ -249,12 +247,10 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
		protected void onProgressUpdate(Integer... progress) {
 | 
			
		||||
 | 
			
		||||
			if (m_copy_started) {
 | 
			
		||||
				boolean shortened = false;
 | 
			
		||||
				String todisplay = m_tocopy.get(progress[0]);
 | 
			
		||||
				m_ProgressBar.setProgress(progress[0]);
 | 
			
		||||
				m_Filename.setText(todisplay);
 | 
			
		||||
			} else {
 | 
			
		||||
				boolean shortened = false;
 | 
			
		||||
				String todisplay = m_Foldername;
 | 
			
		||||
				String full_text = "scanning " + todisplay + " ...";
 | 
			
		||||
				m_Filename.setText(full_text);
 | 
			
		||||
@@ -264,14 +260,11 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
		/**
 | 
			
		||||
		 * check all files and folders in filelist
 | 
			
		||||
		 */
 | 
			
		||||
		protected void ProcessFileList() {
 | 
			
		||||
		void ProcessFileList() {
 | 
			
		||||
			String FlashBaseDir =
 | 
			
		||||
					Environment.getExternalStorageDirectory().getAbsolutePath();
 | 
			
		||||
 | 
			
		||||
			Iterator itr = m_filenames.iterator();
 | 
			
		||||
 | 
			
		||||
			while (itr.hasNext()) {
 | 
			
		||||
				String current_path = (String) itr.next();
 | 
			
		||||
			for (String current_path : m_filenames) {
 | 
			
		||||
				String FlashPath = FlashBaseDir + "/" + current_path;
 | 
			
		||||
 | 
			
		||||
				if (isAssetFolder(current_path)) {
 | 
			
		||||
@@ -300,7 +293,7 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
				File testme = new File(FlashPath);
 | 
			
		||||
 | 
			
		||||
				long asset_filesize = -1;
 | 
			
		||||
				long stored_filesize = -1;
 | 
			
		||||
				long stored_filesize;
 | 
			
		||||
 | 
			
		||||
				if (testme.exists()) {
 | 
			
		||||
					try {
 | 
			
		||||
@@ -308,7 +301,6 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
						asset_filesize = fd.getLength();
 | 
			
		||||
						fd.close();
 | 
			
		||||
					} catch (IOException e) {
 | 
			
		||||
						refresh = true;
 | 
			
		||||
						m_asset_size_unknown.add(current_path);
 | 
			
		||||
						Log.e("MinetestAssetCopy", "Failed to open asset file \"" +
 | 
			
		||||
								FlashPath + "\" for size check");
 | 
			
		||||
@@ -316,22 +308,20 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
 | 
			
		||||
					stored_filesize = testme.length();
 | 
			
		||||
 | 
			
		||||
					if (asset_filesize == stored_filesize) {
 | 
			
		||||
					if (asset_filesize == stored_filesize)
 | 
			
		||||
						refresh = false;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (refresh) {
 | 
			
		||||
				if (refresh)
 | 
			
		||||
					m_tocopy.add(current_path);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 * read list of folders prepared on package build
 | 
			
		||||
		 */
 | 
			
		||||
		protected void BuildFolderList() {
 | 
			
		||||
		void BuildFolderList() {
 | 
			
		||||
			try {
 | 
			
		||||
				InputStream is = getAssets().open("index.txt");
 | 
			
		||||
				BufferedReader reader = new BufferedReader(new InputStreamReader(is));
 | 
			
		||||
@@ -351,7 +341,7 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
		/**
 | 
			
		||||
		 * read list of asset files prepared on package build
 | 
			
		||||
		 */
 | 
			
		||||
		protected void BuildFileList() {
 | 
			
		||||
		void BuildFileList() {
 | 
			
		||||
			long entrycount = 0;
 | 
			
		||||
			try {
 | 
			
		||||
				InputStream is = getAssets().open("filelist.txt");
 | 
			
		||||
@@ -374,7 +364,7 @@ public class MinetestAssetCopy extends Activity {
 | 
			
		||||
			finish();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		protected boolean isAssetFolder(String path) {
 | 
			
		||||
		boolean isAssetFolder(String path) {
 | 
			
		||||
			return m_foldernames.contains(path);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@ public class MinetestTextEntry extends Activity {
 | 
			
		||||
	private final int MultiLineTextInput = 1;
 | 
			
		||||
	private final int SingleLineTextInput = 2;
 | 
			
		||||
	private final int SingleLinePasswordInput = 3;
 | 
			
		||||
	public AlertDialog mTextInputDialog;
 | 
			
		||||
	public EditText mTextInputWidget;
 | 
			
		||||
	private AlertDialog mTextInputDialog;
 | 
			
		||||
	private EditText mTextInputWidget;
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
@@ -71,7 +71,7 @@ public class MinetestTextEntry extends Activity {
 | 
			
		||||
		mTextInputDialog.show();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void pushResult(String text) {
 | 
			
		||||
	private void pushResult(String text) {
 | 
			
		||||
		Intent resultData = new Intent();
 | 
			
		||||
		resultData.putExtra("text", text);
 | 
			
		||||
		setResult(Activity.RESULT_OK, resultData);
 | 
			
		||||
@@ -79,7 +79,7 @@ public class MinetestTextEntry extends Activity {
 | 
			
		||||
		finish();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void cancelDialog() {
 | 
			
		||||
	private void cancelDialog() {
 | 
			
		||||
		setResult(Activity.RESULT_CANCELED);
 | 
			
		||||
		mTextInputDialog.dismiss();
 | 
			
		||||
		finish();
 | 
			
		||||
 
 | 
			
		||||
@@ -37,20 +37,17 @@ public class MtNativeActivity extends NativeActivity {
 | 
			
		||||
		makeFullScreen();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void makeFullScreen() {
 | 
			
		||||
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
 | 
			
		||||
	private void makeFullScreen() {
 | 
			
		||||
		if (Build.VERSION.SDK_INT >= 19)
 | 
			
		||||
			this.getWindow().getDecorView().setSystemUiVisibility(
 | 
			
		||||
					View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
					View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onWindowFocusChanged(boolean hasFocus) {
 | 
			
		||||
		super.onWindowFocusChanged(hasFocus);
 | 
			
		||||
		if (hasFocus) {
 | 
			
		||||
		if (hasFocus)
 | 
			
		||||
			makeFullScreen();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void copyAssets() {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,17 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
<resources xmlns:tools="http://schemas.android.com/tools">
 | 
			
		||||
 | 
			
		||||
	<style name="AppTheme" parent="@android:style/android:Theme.Material.Light.NoActionBar.Fullscreen">
 | 
			
		||||
	<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar.Fullscreen">
 | 
			
		||||
		<item name="android:windowNoTitle">true</item>
 | 
			
		||||
		<item name="android:windowAnimationStyle">@null</item>
 | 
			
		||||
		<item name="android:windowBackground">@drawable/bg</item>
 | 
			
		||||
		<item name="android:windowLayoutInDisplayCutoutMode" tools:ignore="NewApi" tools:targetApi="o_mr1">
 | 
			
		||||
			shortEdges
 | 
			
		||||
		</item>
 | 
			
		||||
	</style>
 | 
			
		||||
 | 
			
		||||
	<style name="Theme.Dialog" parent="@android:style/Theme.Material.Light.Dialog.NoActionBar"/>
 | 
			
		||||
	<style name="Theme.Dialog" parent="@android:style/Theme.Material.Light.Dialog.NoActionBar">
 | 
			
		||||
		<item name="android:windowNoTitle">true</item>
 | 
			
		||||
		<item name="android:windowBackground">@android:color/transparent</item>
 | 
			
		||||
	</style>
 | 
			
		||||
 | 
			
		||||
</resources>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,14 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
 | 
			
		||||
	<style name="AppTheme" parent="@android:style/android:Theme.Holo.Light.NoActionBar.Fullscreen">
 | 
			
		||||
	<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">
 | 
			
		||||
		<item name="android:windowNoTitle">true</item>
 | 
			
		||||
		<item name="android:windowAnimationStyle">@null</item>
 | 
			
		||||
		<item name="android:windowBackground">@drawable/bg</item>
 | 
			
		||||
	</style>
 | 
			
		||||
 | 
			
		||||
	<style name="Theme.Dialog" parent="@android:style/android:Theme.Holo.Light.Dialog.NoActionBar"/>
 | 
			
		||||
	<style name="Theme.Dialog" parent="android:Theme.Holo.Light.Dialog.NoActionBar">
 | 
			
		||||
		<item name="android:windowNoTitle">true</item>
 | 
			
		||||
		<item name="android:windowBackground">@android:color/transparent</item>
 | 
			
		||||
	</style>
 | 
			
		||||
 | 
			
		||||
</resources>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user