infinitered / bluepotion Goto Github PK
View Code? Open in Web Editor NEWLike RedPotion, but for Android
License: MIT License
Like RedPotion, but for Android
License: MIT License
close
needs to properly detect and handle fragments vs activities, per #15.
RubyMotion 4.0 doesn't like this anymore:
https://github.com/infinitered/bluepotion/blob/master/lib/project/ext/array_list.rb#L4
How I got here was via:
find.all
which eventually calls filter
which calls uniq
Nothing strikes me as odd about the impl. Haven't figured out why it's crashing yet. I just commented out the call to it to try to compile our app again.
when I try to ran the sample app on my 5.0.2 device, it's crash with the following
Start com.infinitered.bluepotion/.PMHomeActivity
--------- beginning of main
--------- beginning of system
>> E/com/infinitered/bluepotion(31733): Exception raised: NameError: uninitialized constant `PMScreenModule'
E/com/infinitered/bluepotion(31733): Uncaught exception when initializing `pm_screen.rb.armv5te.o' scope -- aborting
--------- beginning of crash
Is this a known issue ?
It looks like onAttach is not understanding the homeScreen default construction. Any hint?
--------- beginning of main
--------- beginning of system
11-18 04:48:1 open fragment: #<HomeScreen:0x4d>
11-18 04:48:14.756 5599 5599 E com/your_company/myapp: Exception raised: NoMethodError: undefined method `onAttach' for #<HomeScreen:0xbfcac00c>
11-18 04:48:14.756 5599 5599 E com/your_company/myapp: from pm_screen.rb:10 in `onAttach'
11-18 04:48:14.758 5599 5599 E com/your_company/myapp: Exception raised: NoMethodError: undefined method `onAttach' for #<HomeScreen:0xbfcac00c>
11-18 04:48:14.758 5599 5599 E com/your_company/myapp: from pm_screen.rb:10 in `onAttach'
--------- beginning of crash
11-18 04:48:14.759 5599 5599 E AndroidRuntime: FATAL EXCEPTION: main
11-18 04:48:14.759 5599 5599 E AndroidRuntime: Process: com.your_company.myapp, PID: 5599
11-18 04:48:14.759 5599 5599 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.your_company.myapp/com.your_company.myapp.PMHomeActivity}: com.rubymotion.NoMethodError: undefined method `onAttach' for #<HomeScreen:0xbfcac00c>
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: Caused by: com.rubymotion.NoMethodError: undefined method `onAttach' for #<HomeScreen:0xbfcac00c>
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at com.your_company.myapp.PMScreen.onAttach(Native Method)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.Fragment.onAttach(Fragment.java:1380)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at com.your_company.myapp.PMScreen.onAttach(Native Method)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:932)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.BackStackRecord.run(BackStackRecord.java:793)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.FragmentController.execPendingActions(FragmentController.java:325)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:6252)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
11-18 04:48:14.759 5599 5599 E AndroidRuntime: ... 9 more
So I changed the name to TimeClock
and now everything goes fine until rake newclear
. I get to the install and start steps (after many a fine compiler warning) and then the app crashes.
Since I wasn't sure about a possible device / genymotion conflict. I tried on both with rake
and rake device
. I followed all of the steps on the first page (gradle:install, API 16 etc) but at the end of the day this is what I get:
KC:TimeClock$ rake device
Install ./build/Development-16/TimeClock.apk
5401 KB/s (7723878 bytes in 1.396s)
Start com.your_company.TimeClock/.PMHomeActivity
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
open fragment: #<HomeScreen:0x34d00051>
E/dalvikvm(23974): VM aborting
What to do ?
I am getting the above error with the starter app if I try to set the gravity. I looked into the code and wrote a spec to test the gravity= method, but it seems to be broken. I am new to Android, so I might be totally wrong, but by the looks of it, the layout_params
used in RMQViewStyler is an instance of Android::View::ViewGroup::LayoutParams
but that doesn't seem to implement gravity, rather one of it's subclasses does.
This is mostly a note to myself to fix this when I have time. There are a number of alignment rules in ViewStyler that should be moved to RelativeLayoutStyler.
Not sure if this was an accident or by design... no biggie either way.
It seems we're now required stylesheets to have a def root_view(st)
. Should this remain optional or did this have to change with the new PMListScreen
+ xml layout feature?
I didn't dig into why. Just noticed something up in our app broke (and was easily fixed).
I'm having some problems with the cell reuse functionality of the base adapter. It's getting confused when I reload the list.
What's happening is I'm getting false positive matches. For example, my header is getting chosen to present a data item.
I think this is caused from the cell type
auto-generation logic.
I'm actually thinking it might not be possible to auto generate the view types.
The problem is: the adapter needs to know all possible cell types that could ever go into the list. Not just the ones that are there now. (getItemViewCount
never gets called more than once!).
So let's say i have a list of things: [HeaderCell, UserCell, UserCell]
. No problem, the right thing happens.
But if the adapter starts off life like this: [NoUsersAddedYetCell]
, the adapter say, "Got it! 1 Cell only". When you swap the underlying adapter data, hilarity ensues.
For now, the workaround I'm going to use is to manually unhook the adapter and recreate another one when the dataset changes. It's slow and you lose your scroll position, but the views are correct.
as pointed out by @skellock this needs a quick lookover/fix
Just gonna throw this out there, I'm sure you guys have a lot on your plate already, but it'd be cool if there were something like "PurplePotion" that served as an API into both Android and iOS.
So that you could do stuff like
PurplePotion.contacts.each do |contact|
my_contacts << [contact.phone, contact.name]
end
And it just worked with either iOS or Android.
if you look here
you can see nothing is done with the options
my current work around is to init the object, change the property and then call open
I like the sms
addition.
https://github.com/infinitered/bluepotion/blob/master/lib/project/pro_motion/pm_application.rb#L120
Can you hook us up with 2 more?
Thanks!
I don't know is this is the proper medium to ask this.
But aside that, there's no documentation at all. I trying to do somethings just looking to the source code.
I trying to translate this Building Web Apps in WebView and my knowledge is pretty small about how to do it in RubyMotion, together with BluePotion.
Any hint, idea or example code.
For what I know you have to create an inherited view from PMWebScreen
and the rely on 4 basic methods provided by RubyMotion
: content, load_started, load_finished, load_falied. But I have no clue about how to apply to display a webview with javascript integration.
Any hint will be appreciated.
If you fire up an alert dialog and rotate the phone you'll get this:
Exception raised: NoMethodError: undefined method `[]' for nil:NilClass
from alert_dialog.rb:47 in `onCreateDialog'
so it looks like onCreateDialog
is getting called again after the rotation, but @options
is gone? Not sure how that's possible. If it's calling the method on the instance shouldn't the instance variable still be around?
Ah but it's a new instance . . . interesting. When I put a mp self.inspect
in the onCreateDialog
method then I find that before rotation I get this:
#<AlertDialog:0x72e00019>
and after I rotate, just before the crash, I get this
#<AlertDialog:0x30000019>
I'll be looking around and seeing if this is something I can fix. In the meantime, if someone else has seen this kind of thing before (new class instances on rotation) and knows the right path forward, please let me know! :)
I've been unable to set rounded edges on a button with st.corner_radius. So I've trued using the method suggested here:
http://stackoverflow.com/questions/9334618/rounded-button-in-android
In the folder resources/drawable/rounded_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
I've added the background to RMQStyler
def background=(background)
@view.background = background
end
So in my stylesheet I now have the reference:
st.background = RMQResource.find('drawable', 'rounded_button')
One build the app crashes, with no stack-trace. Is this an RubyMotion error with Android or have I done something really screwy!
Now that bluepotion create
is working I tried rake newclear
and everything went along smoothly. All compiles were fine and it started creating until it crashed:
Compile ./app/screens/home_screen.rb
Create ./build/Development-16/lib/armeabi/libpayload.so
Create ./build/Development-16/lib/armeabi/gdbserver
Create ./build/Development-16/lib/armeabi/gdb.setup
./build/Development-16/java/com/your_company/myapp/Request.java:4: cannot find symbol
symbol: class Com_Android_Volley_Toolbox_StringRequest
public class Request extends Com_Android_Volley_Toolbox_StringRequest {
^
warning: com/rubymotion/String.class(com/rubymotion:String.class): major version 51 is newer than 50, the highest major version supported by this compiler.
It is recommended that the compiler be upgraded.
./build/Development-16/java/com/your_company/myapp/Request.java:49: package com.android.volley does not exist
protected java.util.Map<java.lang.String,java.lang.String> getParams() throws com.android.volley.AuthFailureError {
^
./build/Development-16/java/com/your_company/myapp/Request.java:54: package com.android.volley does not exist
public java.util.Map<java.lang.String,java.lang.String> getHeaders() throws com.android.volley.AuthFailureError {
^
./build/Development-16/java/com/your_company/myapp/Request.java:48: method does not override or implement a method from a supertype
@Override
^
./build/Development-16/java/com/your_company/myapp/Request.java:53: method does not override or implement a method from a supertype
@Override
^
5 errors
1 warning
rake aborted!
Command failed with status (1): [/usr/bin/javac -d "./build/Development-16/...]
/Library/RubyMotion/lib/motion/project/template/android.rb:526:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/paralel_builder.rb:47:in `call'
/Library/RubyMotion/lib/motion/project/paralel_builder.rb:47:in `block (2 levels) in initialize'
Tasks: TOP => build
(See full trace by running task with --trace)
I've been having that compiler upgrade for a while so I decided to try to fix it before reporting.
I was able to get rid of the compiler warning by upgrading to the latest jdk7 (I first did jdk8 but was overwhelmed by the warnings), but the error stands starting with this error:
./build/Development-16/java/com/your_company/myapp/Request.java:4: error: cannot find symbol
public class Request extends Com_Android_Volley_Toolbox_StringRequest {
^
symbol: class Com_Android_Volley_Toolbox_StringRequest
I'm happy to alpha test BluePotion, let me know if there's anything I can do :)
So BP Template has an on_load
in the Application a lot like we have on_load
in RedPotion, but it's not really wired up in to ever happen!
This can cause some confusion/issues.
We should support both on_create
and on_load
I have tried this on both a device and using an emulator. Im not sure where the error is coming from once I find it I will post.
Start com.jparrack.helloWorld/.PMHomeActivity
--------- beginning of main
--------- beginning of system
open fragment: <HomeScreen|207557333>
E/com/jparrack/helloWorld 2427): Exception raised: ArgumentError: wrong number of arguments (0 for 1)
E/com/jparrack/lockdown( 2427): from /Users/jeremiahparrack/.rvm/gems/ruby-2.4.1/bundler/gems/bluepotion-293730b31e3b/lib/project/pro_mo
--------- beginning of crash
(main)>
I'm trying to fire up an app.alert
with a text box and the app crashes
Exception raised: NameError: uninitialized constant
Alert_edit_text'`
BluePotion is looking for R::Id::Alert_edit_text
but our app hasn't defined that.
https://github.com/infinitered/bluepotion/blob/master/lib/project/alert_dialog/alert_dialog.rb#L68
What's the best strategy here? Should I define that constant in the app? Should we pass it in as part of the interface? Can BP autogen it?
Thanks in advance.
Hey all,
I tried making an app with a dash in the name time-clock
and didn't realize the dash was killing newclear
for a while. The error on rake newclear
looked like this:
KC:time-clock$ rake newclear
================================================================================
A new version of RubyMotion is available. Run `sudo motion update' to upgrade.
================================================================================
Cleaning Project...
fatal: Not a git repository (or any of the parent directories): .git
Delete ./build
Delete /Users/KC/Library/RubyMotion/build
Bundling...
Setting up gradle automation dependencies...
fatal: Not a git repository (or any of the parent directories): .git
[warning] To avoid issues you should install `Extras/Android Support Repository`. Open the gui to install it : /Users/KC/.rubymotion-android/sdk/tools/android
[warning] To avoid issues you should install `Extras/Google Repository`. Open the gui to install it : /Users/KC/.rubymotion-android/sdk/tools/android
Building project...
for device
================================================================================
A new version of RubyMotion is available. Run `sudo motion update' to upgrade.
================================================================================
fatal: Not a git repository (or any of the parent directories): .git
Create ./build/Development-16/AndroidManifest.xml
(skipping file '.gitkeep' due to ANDROID_AAPT_IGNORE pattern '.*')
(skipping file '.gitkeep' due to ANDROID_AAPT_IGNORE pattern '.*')
./build/Development-16/AndroidManifest.xml:2: Tag <manifest> attribute package has invalid character '-'.
rake aborted!
Command failed with status (1): ["/Users/KC/.rubymotion-android/sdk/build-t...]
/Library/RubyMotion/lib/motion/project/template/android.rb:188:in `block in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/android.rb:755:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/android.rb:755:in `each'
/Library/RubyMotion/lib/motion/project/template/android.rb:755:in `block in <top (required)>'
/Users/KC/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
/Users/KC/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => build
(See full trace by running task with --trace)
I can see it now, but I first updated ruby motion, then I thought it might be the fatal
thing about it not being a git repository because of the warnings:
[warning] To avoid issues you should install `Extras/Android Support Repository`. Open the gui to install it : /Users/KC/.rubymotion-android/sdk/tools/android
[warning] To avoid issues you should install `Extras/Google Repository`. Open the gui to install it : /Users/KC/.rubymotion-android/sdk/tools/android
After installing those I was still getting fatal not a git repo . . .
so I created one and then I get
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
so I add all and commit it and finally I get
KC:time-clock$ rake newclear
Cleaning Project...
Delete ./build
Delete /Users/KC/Library/RubyMotion/build
Delete vendor/Gradle
Bundling...
Setting up gradle automation dependencies...
Building project...
for device
Create ./build/Development-16/AndroidManifest.xml
(skipping file '.gitkeep' due to ANDROID_AAPT_IGNORE pattern '.*')
(skipping file '.gitkeep' due to ANDROID_AAPT_IGNORE pattern '.*')
./build/Development-16/AndroidManifest.xml:2: Tag <manifest> attribute package has invalid character '-'.
rake aborted!
Command failed with status (1): ["/Users/KC/.rubymotion-android/sdk/build-t...]
/Library/RubyMotion/lib/motion/project/template/android.rb:188:in `block in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/android.rb:758:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/android.rb:758:in `each'
/Library/RubyMotion/lib/motion/project/template/android.rb:758:in `block in <top (required)>'
/Users/KC/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
/Users/KC/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => build
(See full trace by running task with --trace)
And this one tipped me off that the line before rake aborted!
is the issue π
I'm telling you all this so that:
bluepotion create time-clock
renames the app to time_clock
or something like that.Thanks for the great gem!
-KC
I believe this problem once existed for Redpotion but a solution was found and implemented there.
When I try 'bluepotion create myApp', I get:
Cloning into βlocaldir>ββ¦
Permission denied (publickey).
fatal: Could not read from remote repository.
Could the same fix be moved over to Bluepotion?
This is a strange one.
I have a PMNavigationActivity
. On it I have several PMScreen
s. I use PMScreen#open
to flow forward through them.
On screen 1 I have some controls that I use find(:foo)
in the on_load
to attach event handlers. Works great. Same as page 2. No problem.
When i go back to page 1, on_load
fires again, but this time around find(:foo)
returns 0 selectors. The control is still inflated properly, it's just untargetable via find
.
This used to work though, so something just recently unhooked it.
I've tried with & without RMQ.caching_enabled
.
Bonus Round: It'd be awesome if on_return
worked too when I hit back. Perhaps I'm going back wrong though.
I'll take this one.
API example (WIP):
app.async(options) do
# async work
end
I've attempted to implement a scroll view, with minor success, any chance you could help me with completing it!
I've created a scroll_view_styler with view set too true
def fill_view_port=(bool)
@view.fillViewport = bool
end
My stylesheet main_scroll is:
def main_scroll(st)
st.fill_view_port = true
st.layout_width = :match_parent
st.layout_height = :wrap_content
end
And in the on_load I've added in the objects
rmq.append(Potion::ScrollView, :main_scroll)
rmq.append(Potion::ScrollView).append(Potion::TextView, :some_text)
I've set the :some_text top in the frame to a very large value. So that it appears off the window, to scroll to.
However the result is the scroll bar can be seen, although it won't actually scroll. Any ideas?
I'll take this one.
PMScreenModule
currently has soft_input_mode
and hide_keyboard
, which are leftovers from BP's embryonic stage. We should try to harmonize these with RedPotion.
An extra state is pushed on the back stack. So when I launch a new activity, if I immediately hit Back, I get a blank screen. (this might be as simple as checking the backstack count > 0 before popping)
From @skellock .
This is just for discussion.
On iOS, the return value for table_data
is an []
of sections. Each containing {cells:[]}
to get to the goods. Make sense.
On Android, we have the same interface, but we don't have sections over here, so I feel like the interface isn't quite right.
Our current implementation says []
-> PMBaseAdapter
and {adapter: ...}
-> PMCursorAdapter
.
It'd be super cool if {cells: []}
could invoke the base adapter too.
I'm creating a lot of [{cells: cells}]
return values from my table_data
screens. It'd be nice if it were just {cells: cells}
or even just [{cell 1},{cell2}]
.
Just wanted to throw it out there because sections won't be a native thing on Android.
Holy crap this is so not a big deal. I'm cool with a wontfix
label of shame. Just my $0.02 (Canadian).
Any chance on this happening anytime soon?
It'd be great to support something on_appear
& on_return
when tapping back inside a navigation activity.
I'll put some something quick & dirty in place up at the project level for now.
Once I get through setting up a project and try to run in on my Geny emu the default app crashes on startup with the following output. It looks like there is some Java dependency needed?
--------- beginning of main
--------- beginning of system
E/com/your_company/myapp( 1783): Exception raised: NameError: uninitialized constant `Com'
E/com/your_company/myapp( 1783): Uncaught exception when initializing `request.rb.x86.o' scope -- aborting
--------- beginning of crash
E/AndroidRuntime( 1783): FATAL EXCEPTION: main
E/AndroidRuntime( 1783): Process: com.your_company.myapp, PID: 1783
E/AndroidRuntime( 1783): java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.your_company.myapp-1/lib/x86/libpayload.so"
Android device running android 4.4.4
The app opens and I see the white screen with the title at the top for a few seconds then it crashes. The RPL prints the following and if I try to type anything it informs me the process is dead.
rake device
Install ./build/Development-16/my_app.apk
Start com.your_company.my_app/.PMHomeActivity
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
E/dalvikvm( 9284): >>>>> Normal User
E/dalvikvm( 9284): >>>>> com.google.android.gms.drive [ userId:0 | appId:10053 ]
E/dalvikvm( 9303): >>>>> Normal User
E/dalvikvm( 9303): >>>>> com.sec.spp.push:RemoteNotiProcess [ userId:0 | appId:10067 ]
E/dalvikvm( 9316): >>>>> Normal User
E/dalvikvm( 9316): >>>>> com.your_company.kekdog_android [ userId:0 | appId:10219 ]
E/dalvikvm( 9335): >>>>> Normal User
E/dalvikvm( 9335): >>>>> com.samsung.android.intelligenceservice [ userId:0 | appId:10071 ]
E/dalvikvm( 9348): >>>>> Normal User
E/dalvikvm( 9348): >>>>> com.sec.knox.bridge [ userId:0 | appId:1000 ]
E/dalvikvm( 9360): >>>>> Normal User
E/dalvikvm( 9360): >>>>> com.samsung.android.app.filterinstaller [ userId:0 | appId:1000 ]
E/dalvikvm( 9373): >>>>> Normal User
E/dalvikvm( 9373): >>>>> com.android.keychain [ userId:0 | appId:1000 ]
E/dalvikvm( 9385): >>>>> Normal User
E/dalvikvm( 9385): >>>>> com.samsung.android.provider.filterprovider [ userId:0 | appId:10124 ]
E/dalvikvm( 9399): >>>>> Normal User
E/dalvikvm( 9399): >>>>> com.sec.everglades [ userId:0 | appId:10172 ]E/dalvikvm( 9412): >>>>> Normal User
E/dalvikvm( 9412): >>>>> com.samsung.groupcast [ userId:0 | appId:10012 ]
E/dalvikvm( 9426): >>>>> Normal User
E/dalvikvm( 9426): >>>>> com.drivemode [ userId:0 | appId:10055 ]
E/dalvikvm( 9443): >>>>> Normal User
E/dalvikvm( 9443): >>>>> com.google.android.partnersetup [ userId:0 | appId:10062 ]
E/dalvikvm( 9456): >>>>> Normal User
E/dalvikvm( 9456): >>>>> com.policydm [ userId:0 | appId:1000 ]
E/dalvikvm( 9476): >>>>> Normal User
E/dalvikvm( 9476): >>>>> com.samsung.android.app.filterinstaller [ userId:0 | appId:1000 ]
E/dalvikvm( 9493): >>>>> Normal User
E/dalvikvm( 9493): >>>>> com.sec.android.app.samsungapps [ userId:0 | appId:10050 ]
E/dalvikvm( 9510): >>>>> Normal User
E/dalvikvm( 9510): >>>>> com.google.android.apps.magazines [ userId:0 | appId:10142 ]
E/dalvikvm( 9548): >>>>> Normal User
E/dalvikvm( 9548): >>>>> com.sec.android.widgetapp.activeapplicationwidget [ userId:0 | appId:10217 ]
E/dalvikvm( 9587): >>>>> Normal User
E/dalvikvm( 9587): >>>>> com.sec.android.widgetapp.SPlannerAppWidget [ userId:0 | appId:10014 ]
E/dalvikvm( 9613): >>>>> Normal User
E/dalvikvm( 9613): >>>>> com.android.mms [ userId:0 | appId:10007 ]
E/dalvikvm( 9634): >>>>> Normal User
E/dalvikvm( 9634): >>>>> com.android.email [ userId:0 | appId:10179 ]
E/dalvikvm( 9655): >>>>> Normal User
E/dalvikvm( 9655): >>>>> com.sec.android.provider.badge [ userId:0 | appId:10090 ]
rmq.log_tree
Remote process has quit.
Just setup a sample bluepotion app and everything worked up until I tried running rake newclear
which produces the following output. ( I have Gradle 2.8 installed via Homebrew).
Cleaning Project...
fatal: Not a git repository (or any of the parent directories): .git
rake aborted!
ArgumentError: wrong number of arguments (2 for 1)
/Users/bigtunacan/.rvm/gems/ruby-2.2.1/gems/motion-gradle-2.0.1/lib/motion/project/gradle.rb:49:in `dependency'
/code/rubymotion/myapp/Rakefile:33:in `block (2 levels) in <top (required)>'
/Users/bigtunacan/.rvm/gems/ruby-2.2.1/gems/motion-gradle-2.0.1/lib/motion/project/gradle.rb:16:in `instance_eval'
/Users/bigtunacan/.rvm/gems/ruby-2.2.1/gems/motion-gradle-2.0.1/lib/motion/project/gradle.rb:16:in `gradle'
/code/rubymotion/myapp/Rakefile:31:in `block in <top (required)>'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `call'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `block in setup'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `each'
/Library/RubyMotion/lib/motion/project/config.rb:121:in `setup'
/Library/RubyMotion/lib/motion/project/app.rb:66:in `config'
/Library/RubyMotion/lib/motion/project.rb:49:in `block in <top (required)>'
/Library/RubyMotion/lib/motion/project.rb:55:in `block (2 levels) in <top (required)>'
/Users/bigtunacan/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
/Users/bigtunacan/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => clean
(See full trace by running task with --trace)
It'd be great to have remote_image
support. @darinwilson mentioned http://loopj.com/android-smart-image-view/ and @GantMan mentioned Ion.
I'm easy.
Easy like Sunday morning.
As discussed offline with ye olde @GantMan, any chance of sneaking ProMotion's Table Cell functionality in? Our app is heavy-custom-cells in iOS.
Even starting with a blank cell view & stylesheet would π and enough to get me going.
Exciting times!
meh, JNI DETECTED ERROR IN APPLICATION: attempt to return an instance of com.rubymotion.Hash from org.w3c.dom.DOMImplementation com.infinitered.bluepotion.PMBaseAdapter.item(int)
Heyo. Having a few issues with the cell reuse in PMBaseAdapter
.
I believe the problem is here:
I don't think we're going to be able to rely the contents of the adapter to determine which view types are available. They might be in the wrong order or not exist.
Here's the setup I'm seeing right now:
My data starts off like this: [B]
and my extra_view_types
are [A, B, C, D]
. Blue potion then compiles this to: [B, A, B, C, D]
.
My data refreshes and my list becomes:
[A, C, C, C, C, C, D]
. Which, when updating views, compiles to [A, C, D, A, B, C, D]
.
Problem is here, for slot 1, Android gives me a B
view for my A
contents.
Android seems to be caching the views in a structure we can't modify. That list gets set once. On first load. Although we can try to change the index of the view with getItemViewType
, we can never change what Android is really holding in that position.
That's why I went with the lookup list up (cell_types
class method + lookup key in table_data
cells) in the original implementation. I didn't like it, but it seemed to be the only want heterogenous lists would work for me.
That's what I've seen at least.
KC:ruby-motion$ bluepotion create myapp
Creating app
Template Cloning bluepotion-template template
fatal: could not create leading directories of '/Users/KC/Library/RubyMotion/template/bluepotion-template': Permission denied
Template Unable to clone [email protected]:infinitered/bluepotion-template.git
Complete. Things you should do:
> cd myapp
> bundle
> rake newclear
(main)> exit
No app was created.
Library/
is normally sudo
protected right? Or are my permissions abnormal? OSX 10.10.3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.