Added interfaces for showing toasts and setting Multicast Locks.
This commit is contained in:
@@ -5,6 +5,12 @@
|
|||||||
android:versionName="1.0" >
|
android:versionName="1.0" >
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
|
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:icon="@drawable/ic_launcher"
|
android:icon="@drawable/ic_launcher"
|
||||||
|
|||||||
@@ -1,18 +1,48 @@
|
|||||||
package ve.ucv.ciens.ccg.nxtar;
|
package ve.ucv.ciens.ccg.nxtar;
|
||||||
|
|
||||||
|
import ve.ucv.ciens.ccg.nxtar.interfaces.MulticastEnabler;
|
||||||
|
import ve.ucv.ciens.ccg.nxtar.utils.AndroidToaster;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
|
import android.net.wifi.WifiManager.MulticastLock;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||||
|
|
||||||
public class MainActivity extends AndroidApplication {
|
public class MainActivity extends AndroidApplication implements MulticastEnabler{
|
||||||
|
private static final String TAG = "NXTAR_ANDROID_MAIN";
|
||||||
|
private static final String CLASS_NAME = MainActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
private AndroidToaster toaster;
|
||||||
|
private WifiManager wifiManager;
|
||||||
|
private MulticastLock multicastLock;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
|
||||||
|
toaster = new AndroidToaster(this);
|
||||||
|
|
||||||
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
|
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
|
||||||
cfg.useGL20 = false;
|
cfg.useGL20 = false;
|
||||||
|
|
||||||
initialize(new Main(), cfg);
|
initialize(new Main(toaster, this), cfg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enableMulticast(){
|
||||||
|
multicastLock = wifiManager.createMulticastLock(TAG);
|
||||||
|
multicastLock.setReferenceCounted(true);
|
||||||
|
multicastLock.acquire();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disableMulticast() {
|
||||||
|
if(multicastLock != null){
|
||||||
|
multicastLock.release();
|
||||||
|
multicastLock = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
41
src/ve/ucv/ciens/ccg/nxtar/utils/AndroidToaster.java
Normal file
41
src/ve/ucv/ciens/ccg/nxtar/utils/AndroidToaster.java
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package ve.ucv.ciens.ccg.nxtar.utils;
|
||||||
|
|
||||||
|
import ve.ucv.ciens.ccg.nxtar.interfaces.Toaster;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class used for showing toast messages from a LibGDX game.
|
||||||
|
*
|
||||||
|
* @author Miguel Angel Astor Romero
|
||||||
|
*/
|
||||||
|
public class AndroidToaster implements Toaster {
|
||||||
|
private Handler uiHandler;
|
||||||
|
private Context uiContext;
|
||||||
|
|
||||||
|
public AndroidToaster(Context context){
|
||||||
|
uiHandler = new Handler();
|
||||||
|
uiContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showShortToast(final String msg) {
|
||||||
|
uiHandler.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Toast.makeText(uiContext, msg, Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void showLongToast(final String msg) {
|
||||||
|
uiHandler.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Toast.makeText(uiContext, msg, Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user