refactor with attr_{reader,accessor}

This commit is contained in:
Laurent Sansonetti
2014-06-15 22:34:07 +02:00
parent 5851bbcac4
commit 6ad7586980
2 changed files with 10 additions and 24 deletions

View File

@@ -1,7 +1,5 @@
class TimerButtonListener < Java::Lang::Object
def set_activity(activity)
@activity = activity
end
attr_accessor :activity
def onClick(view)
@activity.toggleTimer
@@ -9,9 +7,7 @@ class TimerButtonListener < Java::Lang::Object
end
class TimerTask < Java::Util::TimerTask
def set_activity(activity)
@activity = activity
end
attr_accessor :activity
def run
@activity.handler.post -> { @activity.updateTimer }
@@ -19,6 +15,8 @@ class TimerTask < Java::Util::TimerTask
end
class MainActivity < Android::App::Activity
attr_reader :handler
def onCreate(savedInstanceState)
super
@handler = Android::Os::Handler.new
@@ -35,17 +33,13 @@ class MainActivity < Android::App::Activity
@button = Android::Widget::Button.new(self)
@button.text = 'Start'
listener = TimerButtonListener.new
listener.set_activity self
listener.activity = self
@button.onClickListener = listener
layout.addView(@button)
self.contentView = layout
end
def handler
@handler
end
def toggleTimer
if @timer
@timer.cancel
@@ -55,7 +49,7 @@ class MainActivity < Android::App::Activity
@timer = Java::Util::Timer.new
@counter = 0
task = TimerTask.new
task.set_activity self
task.activity = self
@timer.schedule task , 0, 100
@button.text = 'Stop'
end

View File

@@ -1,4 +1,6 @@
class MainActivity < Android::App::Activity
attr_reader :webview, :handler
def onCreate(savedInstanceState)
super
@handler = Android::Os::Handler.new
@@ -12,27 +14,17 @@ class MainActivity < Android::App::Activity
@webview.webChromeClient = MyWebChromeClient.new
js_interface = DemoJavaScriptInterface.new
js_interface.set_context(self)
js_interface.context = self
@webview.addJavascriptInterface(js_interface, "demo")
@webview.loadUrl("file:///android_asset/demo.html")
self.contentView = @webview
end
def webview
@webview
end
def handler
@handler
end
end
class DemoJavaScriptInterface < Java::Lang::Object
def set_context(context)
@context = context
end
attr_accessor :context
__annotation__('@android.webkit.JavascriptInterface')
def clickOnAndroid