Browse Source

Implement setScreenSaver enabled on Android

tags/2021-05-28
hogliux 10 years ago
parent
commit
03dc6479e3
3 changed files with 25 additions and 3 deletions
  1. +20
    -0
      modules/juce_core/native/java/JuceAppActivity.java
  2. +3
    -1
      modules/juce_core/native/juce_android_JNIHelpers.h
  3. +2
    -2
      modules/juce_gui_basics/native/juce_android_Windowing.cpp

+ 20
- 0
modules/juce_core/native/java/JuceAppActivity.java View File

@@ -66,6 +66,7 @@ public class JuceAppActivity extends Activity
{
super.onCreate (savedInstanceState);
isScreenSaverEnabled = true;
viewHolder = new ViewHolder (this);
setContentView (viewHolder);
@@ -141,6 +142,7 @@ public class JuceAppActivity extends Activity
//==============================================================================
private ViewHolder viewHolder;
private boolean isScreenSaverEnabled;
public final ComponentPeerView createNewView (boolean opaque, long host)
{
@@ -222,6 +224,24 @@ public class JuceAppActivity extends Activity
canvas.clipRect (left, top, right, bottom, android.graphics.Region.Op.DIFFERENCE);
}
//==============================================================================
public final void setScreenSaver (boolean enabled)
{
if (isScreenSaverEnabled != enabled)
{
isScreenSaverEnabled = enabled;
if (enabled)
getWindow().clearFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
else
getWindow().addFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
public final boolean getScreenSaver ()
{
return isScreenSaverEnabled;
}
//==============================================================================
public final String getClipboardContent()
{


+ 3
- 1
modules/juce_core/native/juce_android_JNIHelpers.h View File

@@ -403,7 +403,9 @@ struct AndroidThreadScope
STATICMETHOD (getLocaleValue, "getLocaleValue", "(Z)Ljava/lang/String;") \
METHOD (scanFile, "scanFile", "(Ljava/lang/String;)V") \
METHOD (getTypeFaceFromAsset, "getTypeFaceFromAsset", "(Ljava/lang/String;)Landroid/graphics/Typeface;") \
METHOD (getTypeFaceFromByteArray,"getTypeFaceFromByteArray","([B)Landroid/graphics/Typeface;")
METHOD (getTypeFaceFromByteArray,"getTypeFaceFromByteArray","([B)Landroid/graphics/Typeface;") \
METHOD (setScreenSaver, "setScreenSaver", "(Z)V") \
METHOD (getScreenSaver, "getScreenSaver", "()Z")
DECLARE_JNI_CLASS (JuceAppActivity, JUCE_ANDROID_ACTIVITY_CLASSPATH);
#undef JNI_CLASS_MEMBERS


+ 2
- 2
modules/juce_gui_basics/native/juce_android_Windowing.cpp View File

@@ -710,12 +710,12 @@ JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, alertDismissed, void, (JNIEn
//==============================================================================
void Desktop::setScreenSaverEnabled (const bool isEnabled)
{
// TODO
android.activity.callVoidMethod (JuceAppActivity.setScreenSaver, isEnabled);
}
bool Desktop::isScreenSaverEnabled()
{
return true;
return android.activity.callBooleanMethod (JuceAppActivity.getScreenSaver);
}
//==============================================================================


Loading…
Cancel
Save