diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 6564d52..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4c60d6d..1354098 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,7 @@
+ package="eu.danman.zidostreamer.zidostreamer"
+ android:sharedUserId="android.uid.system">
diff --git a/app/src/main/java/eu/danman/zidostreamer/zidostreamer/MainActivity.java b/app/src/main/java/eu/danman/zidostreamer/zidostreamer/MainActivity.java
index c42e161..4009e0b 100644
--- a/app/src/main/java/eu/danman/zidostreamer/zidostreamer/MainActivity.java
+++ b/app/src/main/java/eu/danman/zidostreamer/zidostreamer/MainActivity.java
@@ -1,29 +1,45 @@
package eu.danman.zidostreamer.zidostreamer;
+import android.app.Activity;
import android.content.Intent;
import android.os.StrictMode;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+import com.mstar.android.tv.TvCommonManager;
+import com.mstar.android.tvapi.common.TvManager;
+import com.mstar.android.tvapi.common.exception.TvCommonException;
+import com.mstar.android.tvapi.common.vo.TvOsType;
public class MainActivity extends ActionBarActivity {
+ SurfaceView surfaceView = null;
+ SurfaceHolder mSurfaceHolder = null;
+ SurfaceHolder.Callback callback = null;
+
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-// setContentView(R.layout.activity_main);
+ setContentView(R.layout.activity_main);
// StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
// StrictMode.setThreadPolicy(policy);
+ surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);
+// showHdmiOnSurfaceView();
+
Intent service = new Intent(this, StreamService.class);
startService(service);
@@ -35,6 +51,7 @@ protected void onCreate(Bundle savedInstanceState) {
}
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
@@ -56,4 +73,84 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
+
+
+ public static void changeInputSource(TvOsType.EnumInputSource eis)
+ {
+
+ TvCommonManager commonService = TvCommonManager.getInstance();
+ if (commonService != null)
+ {
+ TvOsType.EnumInputSource currentSource = commonService.getCurrentInputSource();
+ if (currentSource != null)
+ {
+ if (currentSource.equals(eis))
+ {
+ return;
+ }
+
+ commonService.setInputSource(eis);
+ }
+
+ }
+
+ }
+
+
+ public static boolean isHDMIinput()
+ {
+ boolean bRet = false;
+ try
+ {
+ changeInputSource(TvOsType.EnumInputSource.E_INPUT_SOURCE_HDMI);
+ bRet = TvManager.getInstance().getPlayerManager().isSignalStable();
+ } catch (TvCommonException e)
+ {
+ e.printStackTrace();
+ }
+ return bRet;
+ }
+
+ private void showHdmiOnSurfaceView()
+ {
+ mSurfaceHolder = surfaceView.getHolder();
+ callback = new android.view.SurfaceHolder.Callback()
+ {
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder)
+ {
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder)
+ {
+
+ try
+ {
+ if (holder == null || holder.getSurface() == null || holder.getSurface().isValid() == false)
+ {
+ return;
+ }
+ if (TvManager.getInstance() != null)
+ {
+ TvManager.getInstance().getPlayerManager().setDisplay(mSurfaceHolder);
+ }
+ } catch (TvCommonException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
+ {
+ }
+ };
+ mSurfaceHolder.addCallback((android.view.SurfaceHolder.Callback) callback);
+ mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
+
+
+ }
+
}
diff --git a/app/src/main/java/eu/danman/zidostreamer/zidostreamer/StreamService.java b/app/src/main/java/eu/danman/zidostreamer/zidostreamer/StreamService.java
index 443aa40..11a7079 100644
--- a/app/src/main/java/eu/danman/zidostreamer/zidostreamer/StreamService.java
+++ b/app/src/main/java/eu/danman/zidostreamer/zidostreamer/StreamService.java
@@ -5,9 +5,17 @@
import android.content.ContextWrapper;
import android.content.Intent;
import android.os.IBinder;
+import android.os.SystemClock;
import android.system.ErrnoException;
import android.util.Log;
+import com.mstar.android.tv.TvCommonManager;
+import com.mstar.android.tvapi.common.PictureManager;
+import com.mstar.android.tvapi.common.TvManager;
+import com.mstar.android.tvapi.common.exception.TvCommonException;
+import com.mstar.android.tvapi.common.vo.EnumScalerWindow;
+import com.mstar.android.tvapi.common.vo.TvOsType;
+import com.mstar.android.tvapi.common.vo.VideoWindowType;
import com.mstar.hdmirecorder.HdmiRecorder;
import java.io.File;
@@ -57,10 +65,48 @@ public StreamService() {
}
+ public static void changeInputSource(TvOsType.EnumInputSource eis)
+ {
+
+ TvCommonManager commonService = TvCommonManager.getInstance();
+ if (commonService != null)
+ {
+ TvOsType.EnumInputSource currentSource = commonService.getCurrentInputSource();
+ if (currentSource != null)
+ {
+ if (currentSource.equals(eis))
+ {
+ return;
+ }
+
+ commonService.setInputSource(eis);
+ }
+
+ }
+
+ }
+
+ public static boolean enableHDMI()
+ {
+ boolean bRet = false;
+ try
+ {
+ changeInputSource(TvOsType.EnumInputSource.E_INPUT_SOURCE_HDMI);
+ bRet = TvManager.getInstance().getPlayerManager().isSignalStable();
+ } catch (TvCommonException e)
+ {
+ e.printStackTrace();
+ }
+ return bRet;
+ }
+
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
- //TODO do something useful
+ //TODO do something
+
+
+ enableHDMI();
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index f7158b8..404770a 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,11 +1,19 @@
+ android:layout_height="match_parent"
+ tools:context=".MainActivity">
+
+
+ android:layout_height="wrap_content"
+ android:id="@+id/textView" />
diff --git a/signed.apk b/signed.apk
index bddff65..69d41da 100644
Binary files a/signed.apk and b/signed.apk differ