[android-developers] Digest for android-developers@googlegroups.com - 2 updates in 2 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Simon Giddings <mr.s.giddings@gmail.com> Jul 31 02:49AM -0700  

    I have a ScrollView which fills the screen, within a RelativeLayout.
    Positioned over this are a series of transparent Views placed in each
    corner as "hotspots".
    Their only purpose is to capture tap/click events.
     
    However, I do not see how I can let dragging events be passed onto the
    underlying ScrollView.
    This is needed as these hotspots are large.
     
    Is there a "simple" way of doing this ?

     

[android-developers] Digest for android-developers@googlegroups.com - 8 updates in 4 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    dashman <erjdriver@gmail.com> Jul 30 10:28AM -0700  

    Can one assume that the menu icon (3 veritical dots) will always be on the
    top-right corner.
     
    Reason - I'm creating some app hint screens and would like to point int the
    direction of the
    menu icon.

     

    TreKing <trekingapp@gmail.com> Jul 30 11:08PM -0500  


    > Can one assume that the menu icon (3 veritical dots) will always be on the
    > top-right corner.
     
     
    Sure you can assume that, but you know what happens when you assume :)
     
    For example, this won't be there on device with Menu Buttons, despite it
    being phased out. And who knows what the future holds for Android design
    standards. Or what modified versions of the platform will do.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    janvi <jagruthi.bhatia@gmail.com> Jul 30 02:18AM -0700  

    Hi Deepak
     
    Thank you for your support:)
     
    But if I do not call Activity A onbackpress of B then if just finishes the
    App I mean App gets closed.
     
    MyCode
     
    onClick(..) {
     
    start activity B
    }
    }class B : Activity {
    onBackPressed() {
    this.finish();
     
    Any help would be appreciated:)
    Thanks in advance
     
    On Sunday, July 20, 2014 9:42:50 PM UTC+5:30, Deepak wrote:

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 30 12:22PM -0400  

    This would be true only if activity A called its finish after starting B.
    Otherwise A remains on the backstack and reappears when B finishes.

     

    Jose_GD <jose.gonzalez.d@gmail.com> Jul 30 05:00AM -0700  

    I second TreKing here, it could work but IMO it's risky. Better go with the
    hassle of repackaging the beta app (this could be automated in some way I
    think)
     
     
    El miércoles, 30 de julio de 2014 01:31:13 UTC-3, TreKing escribió:

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 30 05:09PM +0100  

    Yeah I've gone down the route of creating two apps in play store. A free
    one for testers with a diff package name and the paid one that I will
    eventually launch with.
     
    The refund thing 'sounded' good, but not sure if it's official, and don't
    want to risk it and not be able to refund people.
     
     
     
     

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 30 12:19PM -0400  

    I can verify that it works as I stated as of a few weeks ago, but of course
    since this is not officially documented behaviour I guess it is always
    subject to change. Seems to me that quite some time ago we had 2 buttons,
    refund and cancel but now the cancel button is there only until the status
    goes from yellow to green and the refund button doesn't appear until the
    status is green.

     

    Vertifi Software <vertifi.software@gmail.com> Jul 30 05:15AM -0700  

    Hello,
     
    We have an app that uses the Camera to acquire photos. A user with a
    Samsung Galaxy S4/Active (Android 4.4.2) has reported hangs and general bad
    behavior from our app. We've captured 'adb logcat' data that indeed shows
    seemingly bad behavior from a system task, apparently something related to
    JPG encoding. Our app isn't new, and we've not seen anything like this
    before. We don't have an S4/Active at this time.
     
    I'm not sure where to reach for help, as I don't know whether these are
    Google, Samsung, or some other vendors software components.
     
    A portion of the log data is here (see attachment for a more complete
    snapshot):
     
    09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: msgData:
    0xb88c2bc8 copyStartIndex: 1348 copy location: 0xb88c310c
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: total
    data len: 1620
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: End
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOutQExifInfoFromDriver: Start
    07-29 09:01:40.731 E/QCameraHWI( 7563): filllOutQExifInfoFromDriver:
    Calling get params for Snapshot data
    07-29 09:01:40.731 E/QCameraHWI( 7563): filllOutQExifInfoFromDriver:
    mCameraHandle=0x0xb88da400, ops=0x0xb4603004, handle=0x1792
    07-29 09:01:40.731 E/QCameraHWI( 7563): filllOutQExifInfoFromDriver:
    Calling get params for Snapshot data successful
    07-29 09:01:40.731 I/QCameraHWI( 7563): if Exposure_under = 1/120
    07-29 09:01:40.731 I/QCameraHWI( 7563): [getQuantISO] ISO_value = 100
    07-29 09:01:40.731 I/QCameraHWI( 7563): @@ exif ISO_Gain after Quan = 100
    07-29 09:01:40.731 I/QCameraHWI( 7563): @@ exif brightness = 100
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOutQExifInfoFromDriver: End
    07-29 09:01:40.731 I/QCameraHWI( 7563): Add 3A exif tag!
    m3aExifInfo:0xb88c2bc0
    07-29 09:01:40.731 E/QCameraHWI( 7563): mPictureHeight 1080 mPictureWidth
    1920
    07-29 09:01:40.731 E/QCameraHWI( 7563): jpeg_quality 85
    07-29 09:01:40.731 E/QCameraHWI( 7563): thumbnailWidth 320 thumbnailHeight
    240
    07-29 09:01:40.731 E/mm-still-omx( 7563): *****Dump job************
    07-29 09:01:40.731 E/mm-still-omx( 7563): rotation =0, exif_numEntries=38,
    is_video_frame=0, use_mainimg_for_thumb=0
    07-29 09:01:40.731 E/mm-still-omx( 7563): Buff_inof: sin_img fd=0,
    buf_len=3158016, buf_add=0xacfee008: src img img num=2
    07-29 09:01:40.731 E/mm-still-omx( 7563): src_img[0] fmt=0, col_fmt=0,
    type=0, bum_buf=1, quality=85, src: 1920x1080, out:1920x1080, crop:
    1920x1080, x=0, y=0
    07-29 09:01:40.731 E/mm-still-omx( 7563): src_img[1] fmt=0, col_fmt=0,
    type=1, bum_buf=1, quality=80, src: 1920x1080, out:320x240, crop:
    1920x1080, x=0, y=0
    07-29 09:01:40.731 E/QCameraHWI( 7563): encodeData: thumbnail frame ptr
    b88be9e4, frame idx 159
    07-29 09:01:40.731 E/QCameraHWI( 7563): jpeg_query_callback: E
    07-29 09:01:40.731 E/QCameraHWI( 7563): Jpeg Query for Main IMage Crop Info
    07-29 09:01:40.731 E/QCameraHWI( 7563): jpeg_query_callback: X
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main: config
    port
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_port:
    port_idx=0, width =1920, height =1080, stride = 1920, slice = 1080, bufsize
    = 3158016
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main: config
    main buf offset
    07-29 09:01:40.731 E/mm-still-omx( 7563):
    mm_jpeg_omx_config_main_buffer_offset: idx=0, yOffset =15360, cbcrOffset
    =7680, totalSize = 3158016
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main: color
    format 0
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main: config
    main crop
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main_crop:
    OMX_IndexConfigCommonInputCrop w=0, h=0, l=0, t=0, port_idx=1
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main_crop:
    OMX_IndexConfigCommonOutputCrop w=0, h=0, port_idx=1
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_main: config
    QFactor: 85
    07-29 09:01:40.731 E/QCameraHWI( 7563): jpeg_query_callback: E
    07-29 09:01:40.731 E/QCameraHWI( 7563): Jpeg Query for Thumb IMage Crop Info
    07-29 09:01:40.731 E/QCameraHWI( 7563): jpeg_query_callback: X
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_thumbnail:
    config port
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_port:
    port_idx=2, width =1920, height =1080, stride = 1920, slice = 1080, bufsize
    = 3112960
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_thumbnail: set
    thumbnail info: crop_w=1920, crop_h=1080, l=0, t=0, w=320, h=240, scaling=1
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_thumbnail:
    thumbnail_quality=80
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_common: config
    user preferences
    07-29 09:01:40.731 E/mm-still-omx( 7563):
    mm_jpeg_omx_config_user_preference: color_format = 0
    07-29 09:01:40.731 E/mm-still-omx( 7563):
    mm_jpeg_omx_config_user_preference:User Preferences: color_format 0,
    thumbnail_color_format = 0
    07-29 09:01:40.731 I/mm-still-omx( 7563): omx_component_image_set_config:
    Rotation set to 0
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_common: Set
    rotation to 0 at port_idx=1
    07-29 09:01:40.731 E/mm-still-omx( 7563): mm_jpeg_omx_config_common: Set
    rexif tags
    07-29 09:01:40.731 I/mm-still-omx( 7563): Warning: Failure at
    vendor/qcom/proprietary/mm-still-bayer/omx/libimage_jpeg_enc_comp/omx_component.c:417
    07-29 09:01:40.731 F/libc ( 7563): invalid address or address of corrupt
    block 0xb88b20c0 passed to dlfree
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: Start
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver:
    m3AExifInfo: 0xb88c2bc0
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: Get
    AWB Exif Info
    07-29 09:01:40.731 E/mm-camera( 294): mm_camera Call
    CAMERA_GET_AWB_EXIF_INFO
    07-29 09:01:40.731 E/mm-camera( 294):
    config_proc_CAMERA_GET_AWB_EXIF_INFO: E
    07-29 09:01:40.731 E/mm-camera( 294): WrapAwb_JpegLog_Get X
    07-29 09:01:40.731 I/QCameraHWI( 7563): AWBExifInfo size =1348
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: Get
    AF Exif Info
    07-29 09:01:40.731 E/mm-camera( 294): mm_camera Call
    CAMERA_GET_AF_EXIF_INFO
    07-29 09:01:40.731 E/mm-camera( 294): config_proc_CAMERA_GET_AF_EXIF_INFO:
    E
    07-29 09:01:40.731 E/mm-camera( 294): config_proc_CAMERA_GET_AF_EXIF_INFO:
    exifSize: 272 msgMaxLen:1400
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver:
    msgData: 0xb88c2bc8 copyStartIndex: 1348 copy location: 0xb88c310c
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: total
    data len: 1620
    07-29 09:01:40.731 I/QCameraHWI( 7563): filllOut3AExifInfoFromDriver: End
    07-29 09:01:40.741 F/libc ( 7563): Fatal signal 11 (SIGSEGV) at
    0xdeadbaad (code=1), thread 8913 (Binder_2)
    ...
     
    then continues to show that process 7563 has died.
     
     
    09:01:40.862 W/NativeCrashListener( 812): Couldn't find ProcessRecord for
    pid 7563
    07-29 09:01:40.982 W/EDMNativeHelper( 265): EDMNativeHelperService is
    published
    07-29 09:01:41.002 I/DEBUG ( 7560): r0 00000000 r1 b6e9d17a r2
    deadbaad r3 b6ea0d0d
    07-29 09:01:41.002 I/DEBUG ( 7560): r4 b88b20c0 r5 b6eab190 r6
    acef1000 r7 b88b20c8
    07-29 09:01:41.002 I/DEBUG ( 7560): r8 00000000 r9 00000001 sl
    b45f31b3 fp b6ea92ec
    07-29 09:01:41.002 I/DEBUG ( 7560): ip 00000001 sp b277dc98 lr
    b6e6e873 pc b6e6e874 cpsr 600f0030
    07-29 09:01:41.002 I/DEBUG ( 7560): d0 2064696c61766e69 d1
    2073736572646461
    07-29 09:01:41.002 I/DEBUG ( 7560): d2 657264646120726f d3
    6f6320666f207373
    07-29 09:01:41.002 I/DEBUG ( 7560): d4 3fe00000018b4ecb d5
    3fdfffffffc03e36
    07-29 09:01:41.002 I/DEBUG ( 7560): d6 0000000200000000 d7
    3ce9e82a00000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d8 0000000000000000 d9
    0000000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d10 0000000000000000 d11
    0000000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d12 0000000000000000 d13
    0000000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d14 0000000000000000 d15
    0000000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d16 6f635f786d6f2f70 d17
    2e746e656e6f706d
    07-29 09:01:41.002 I/DEBUG ( 7560): d18 2f79726174656972 d19
    6c6c6974732d6d6d
    07-29 09:01:41.002 I/DEBUG ( 7560): d20 6f2f72657961622d d21
    6d6962696c2f786d
    07-29 09:01:41.002 I/DEBUG ( 7560): d22 6765706a5f656761 d23
    6d6f635f636e655f
    07-29 09:01:41.002 I/DEBUG ( 7560): d24 3faa9a01c59af0e4 d25
    bfaa9a01c8e22ecb
    07-29 09:01:41.002 I/DEBUG ( 7560): d26 4045400000000000 d27
    3ffb914b30000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d28 3ff0000000000000 d29
    4024000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): d30 4023ffffec000000 d31
    4000000000000000
    07-29 09:01:41.002 I/DEBUG ( 7560): scr 20000010
    07-29 09:01:41.002 I/DEBUG ( 7560):
    07-29 09:01:41.002 I/DEBUG ( 7560): backtrace:
    07-29 09:01:41.002 I/DEBUG ( 7560): #00 pc 00011874
    /system/lib/libc.so (dlfree+1191)
    07-29 09:01:41.002 I/DEBUG ( 7560): #01 pc 0000dd13
    /system/lib/libc.so (free+10)
    07-29 09:01:41.002 I/DEBUG ( 7560): #02 pc 0002ba29
    /system/lib/libmmjpeg.so (exif_set_tag+64)
    07-29 09:01:41.002 I/DEBUG ( 7560): #03 pc 00001d7d
    /system/lib/libimage-jpeg-enc-omx-comp.so
    (omx_component_image_set_parameter+156)
    07-29 09:01:41.002 I/DEBUG ( 7560): #04 pc 00001ead
    /system/lib/libmmjpeg_interface.so (mm_jpeg_omx_config_common+276)
    07-29 09:01:41.002 I/DEBUG ( 7560): #05 pc 00002445
    /system/lib/libmmjpeg_interface.so (mm_jpeg_omx_encode+100)
    07-29 09:01:41.002 I/DEBUG ( 7560): #06 pc 00002651
    /system/lib/libmmjpeg_interface.so (mm_jpeg_process_encoding_job+8)
    07-29 09:01:41.002 I/DEBUG ( 7560): #07 pc 00002777
    /system/lib/libmmjpeg_interface.so
    07-29 09:01:41.002 I/DEBUG ( 7560): #08 pc 0000d278
    /system/lib/libc.so (__thread_entry+72)
    07-29 09:01:41.002 I/DEBUG ( 7560): #09 pc 0000d410
    /system/lib/libc.so (pthread_create+240)
     
     
    Our app/process is PID 6826, so not even shown here. This problem is
    reproducible, though failure doesn't occur every time a photo is taken.
     
    This all appears to be doing something related to EXIF encoding in the JPG.
     
    I'm just not sure how to get help ... if anyone can point me in the right
    direction I'd be very grateful.
     
    Kind regards,
    Chris @ Vertifi

     

[android-developers] Digest for android-developers@googlegroups.com - 5 updates in 5 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    TreKing <trekingapp@gmail.com> Jul 29 11:12PM -0500  

    On Mon, Jul 28, 2014 at 1:09 PM, Steve Gabrilowitz <steveg1701@gmail.com>
    wrote:
     
    > Refunded through the play store so no 30% issue. The app remains licensed
    > and gets the updates you push to the play store both during and after the
    > test period.
     
     
    Are you sure about that? That doesn't sound like correct behavior at all.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    TreKing <trekingapp@gmail.com> Jul 29 11:10PM -0500  


    > I update my activity's data with a Async task. it works on all the devices
    > till date, but in Android 4.2.2 KitKat AsyncTask's onProgressUpdate method
    > is not working.
     
     
    You should try explaining what "is not working" means.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    "Tamás Kovács" <falcon.firebreath@gmail.com> Jul 29 09:53AM -0700  

    Any idea? Any thoughts?
     
     
    2014. július 27., vasárnap 17:43:38 UTC+2 időpontban Tamás Kovács a
    következőt írta:

     

    Amit Siddhpura <siddhpuraamitr@gmail.com> Jul 29 02:31AM -0700  

    I want to make an app, in which a user can search city names. When city
    names not found, that city name will be tracked by Google Analytics.
     
    For that I have created a custom dimension by following image in Google
    Analytics:
     
    http://i.stack.imgur.com/Xin85.png
     
     
    and also :
     
    http://i.stack.imgur.com/LSNCY.png
     
     
    I have the following code in my app when word is not found:
     
    EasyTracker easyTracker = EasyTracker
    .getInstance(mActivity);
    easyTracker.set(
    Fields.customDimension(1),
    cityNameWhichAreNotFound);
    easyTracker.send(MapBuilder
    .createAppView()
    .build());
     
     
    But I am not getting the missing city names. Can anybody help me?
     
    http://i.stack.imgur.com/WGMuA.png

     

    Abhishek Kumar Gupta <akgaec2007@gmail.com> Jul 28 11:10PM -0700  

    In Android 4.4+ versions, I am not able to add/remove geofence over
    3G/WiFi. Every time I am getting 1000 as a status code which means error.
    When I am enabling GPS(it doesn't matter whether GPS is fixed or not),
    everything works fine but accompanied with the problem of battery drain.
     
    Is there any alternative solutions? If yes, then please guide me.
     
    Note: In Android 4.3 and below versions, every thing works perfect.

     

[android-developers] Digest for android-developers@googlegroups.com - 11 updates in 4 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Ziri Ziri <ziridmail@gmail.com> Jul 28 11:34PM +0200  

    Oo rfe p

     

    dashman <erjdriver@gmail.com> Jul 28 02:47PM -0700  

    Is it possible to create a shape with a pattern fill - instead of a solid
    color.

     

    Jose_GD <jose.gonzalez.d@gmail.com> Jul 28 04:57AM -0700  

    Yes, I confirm it's not possible right now. If paid, testers must pay to
    test (what they were thinking?).
     
    I've done in the past with my first paid app like Bhavin said: use
    *com.your.package.test* for beta testing (free of course) and when you're
    ready to launch, disable this APK and upload the same binary as
    *com.your.package*
     
    Cheers,
     
    José
    https://play.google.com/store/apps/developer?id=Jos%C3%A9+Gonz%C3%A1lez+D%27Amico
     
     
    El domingo, 27 de julio de 2014 09:59:26 UTC-3, Russell Wheeler escribió:

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 28 01:53PM +0100  

    José,
     
    That's exactly what I planned on doing, although I'd rather not have to.
     
    Thanks for confirming.
     
    Russ
     
     

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 28 11:34AM -0400  

    What I did was to advise my testers that they would have to pay to install
    the app but I would refund it the next day. This worked out fine and one
    of the testers told me that the refund had appeared on her CC even before
    the charge did!
    On Jul 28, 2014 8:54 AM, "Russell Wheeler" <russellpeterwheeler@gmail.com>
    wrote:
     

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 28 06:38PM +0100  

    With the refund, did you lose out? Did you do a refund through the play
    store, or did you personally refund them? I'm thinking if you did it
    personally, you'd lose the 30% Google have already taken.
     
    If you did the refund through the store, does that mean that they then lose
    the app?
     
     
    On Mon, Jul 28, 2014 at 4:34 PM, Steve Gabrilowitz <steveg1701@gmail.com>
    wrote:
     

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 28 02:09PM -0400  

    Refunded through the play store so no 30% issue. The app remains licensed
    and gets the updates you push to the play store both during and after the
    test period.
    On Jul 28, 2014 1:39 PM, "Russell Wheeler" <russellpeterwheeler@gmail.com>
    wrote:
     

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 28 02:11PM -0400  

    One minor point to add - when you do the refund it tells you that the
    customer will receive an email - that appears to be a lie ;-) Your less
    trusting testers will have to rely on their credit card statement or phone
    bill to confirm that you did refund it.

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 28 11:59AM -0700  

    Thanks Steve, this sounds like a very good way to go about it.
     
     
     
    On Monday, July 28, 2014 7:20:46 PM UTC+1, Steve Gabrilowitz wrote:

     

    sweety fx <fxsweety@gmail.com> Jul 28 09:26AM -0700  

    I have an image view on top and then grid view.
    I want all both the image view and grid view scrollable together, but only
    the grid view is scrolls.
    Is there a way to implement it?

     

[android-developers] Digest for android-developers@googlegroups.com - 6 updates in 4 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    "Tamás Kovács" <falcon.firebreath@gmail.com> Jul 27 08:43AM -0700  

    Hello,
     
    Are there any restrictions for Game Services in terms IAB/paid apps?
     
    I can't find anything in any Terms of Use about this. For example, Game
    Services states that each Achievement must be achievable by the player, but
    it doesn't state whether this is allowed to "require" any In-app Billing.
    Most games are freemium nowadays.
     
    I can imagine it's forbidden to ask for payment for an Achievement (I'm not
    planning such a thing), but in freemium games, this can be much more
    indirect. For example, a quest might not be available without an expensive
    item, but that item is only available via In-app Billing.
     
    With the following, I suppose I should be safe: the Achievement is
    reachable in theory in the game, but very difficult to reach it (very much
    playing to reach the XP without In-app Purchase items). Therefore, if the
    player really wants it, he can reach the Achievement without any In-app
    Purchase.
     
    Any definitive answer in this matter?

     

    Bibu <kanaziwok@gmail.com> Jul 27 07:53AM -0700  

    I just developped the same kind of method and I am also facing this issue on devices that have security lock screen feature activated and this is not happening with devices without the security check enabled.

     

    12169 <ashish.acet@gmail.com> Jul 27 06:24AM -0700  

    I update my activity's data with a Async task. it works on all the devices
    till date, but in Android 4.2.2 KitKat AsyncTask's onProgressUpdate method
    is not working.
     
    Below is reference code of AsyncTask
     
    class MyAsync extends AsyncTask<String, String, String>{
    boolean flag = true;
    @Override
    protected String doInBackground(String... params) {
    // TODO Auto-generated method stub
     
    while(flag)
    {
    // do background Task
     
    //publishProgress
    publishProgress("");
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return null;
    }
     
    @Override
    protected void onProgressUpdate(String... values) {
    // TODO Auto-generated method stub
    super.onProgressUpdate(values);
     
    //Update UI
    }}
     
    And this code how i Start AsyncTask
     
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,AsyncTask.SERIAL_EXECUTOR);
    else
    asyncTask.execute(params);

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 27 03:32AM -0700  

    I am just starting out in the android developer world, and have made a very
    basic game that I would like to have tested by friends and colleagues. I
    thought of using the alpha and beta testing/apk sections of the google
    developer console.
     
    However, I would like my app to eventually be a paid app, and from reading
    around it would appear that testers would also have to pay in order to test
    my app for me. Is there any way around this, or I have I misunderstood? I'm
    talking about the initial purchase of the app, not in app purchases.
     
    If not, how do others approach this situation? Give the app away on email,
    but lose out on the auto updating facilities of the play store, or do you
    create two apps one for free that is only visible to testers, and then the
    paid app later on launch?
     
    If I did that, would I need two diff package names for each of the app?
     
    Thanks

     

    "Save My Life!" <alertsavemylife@gmail.com> Jul 27 05:04AM -0700  

    may be no.
    other way is to you put same apk with different package name.
    On Jul 27, 2014 4:05 PM, "Russell Wheeler" <russellpeterwheeler@gmail.com>
    wrote:
     

     

    Russell Wheeler <russellpeterwheeler@gmail.com> Jul 27 05:59AM -0700  

    Yes I think I'm going to have to publish two diff apks with diff package
    names, unfortunately.
     
    It's very limited.
     
    Thanks
     
    On Sunday, July 27, 2014 1:13:55 PM UTC+1, Bhavin wrote:

     

[android-developers] Digest for android-developers@googlegroups.com - 1 update in 1 topic

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Dima Vasilkov <k4dima@gmail.com> Jul 26 06:09PM -0700  

    Thank you!
    It helped me :-)
     
    On Thursday, August 9, 2012 8:19:02 AM UTC+3, Zoran Smilevski wrote:

     

[android-developers] Digest for android-developers@googlegroups.com - 1 update in 1 topic

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Tom <karbonkilla@gmail.com> Jul 25 06:29AM -0700  

    After some digging, I've found that
    com.android.server.accessibility.AccessibiliityManagerService is where
    KeyEvents are sent, and the AccessibilityInputFilter class is what handles
    the KeyEvent filtering. It doesn't appear that Accessibility itself is
    handling these events, so it's likely that the service providing these
    events simply does not pass along certain events,
     
    On Sunday, July 13, 2014 10:05:14 AM UTC-4, Tom wrote:

     

[android-developers] Digest for android-developers@googlegroups.com - 6 updates in 3 topics

Comments: (1)

Group: http://groups.google.com/group/android-developers/topics

    Sanjay Mishra <smitzey@gmail.com> Jul 24 08:31PM -0700  

    Hello,
     
    I discovered that the Android Wear app
     
    (
    https://play.google.com/store/apps/details?id=com.google.android.wearable.app
    Version = 1.0.0.1261840)
     
    running on my Android development device LG / Android OS 4.4.4
    was hogging resources on my LG development device and causing an
    incessant stream of GC messages.
     
    top:
     
    *User 51%, System 13%, IOW 0%, IRQ 0%*
    *User 307 + Nice 0 + Sys 83 + Idle 209 + IOW 0 + IRQ 0 + SIRQ 0 = 599*
     
    * PID PR CPU% S #THR VSS RSS PCY UID Name*
    * 1065 0 43% S 21 903800K 34212K fg u0_a7
    com.google.android.gms.wearable*
    * 1013 0 15% S 39 903932K 38792K fg u0_a111
    com.google.android.wearable.app*
    * 578 0 5% S 76 975848K 70004K fg system system_server*
    *13377 0 1% R 1 1312K 488K shell top*
     
     
     
    127|shell@mako:/ $ cat /proc/version
     
    Linux version 3.4.0-perf-ga6edd5e (android-build@kpdm5.cbf.corp.google.com)
    (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Apr 16 09:33:17 PDT 2014
     
     
     
    127|shell@mako:/ $ cat /proc/cpuinfo

     
    Processor : ARMv7 Processor rev 2 (v7l)
    processor : 0
    BogoMIPS : 13.53
     
    processor : 1
    BogoMIPS : 13.53
     
    processor : 2
    BogoMIPS : 13.53
     
    processor : 3
    BogoMIPS : 13.53
     
    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
    CPU implementer : 0x51
    CPU architecture: 7
    CPU variant : 0x0
    CPU part : 0x06f
    CPU revision : 2
     
    Hardware : QCT APQ8064 MAKO
    Revision : 000b
    Serial : 0000000000000000
     
     
    adb logcat showed this constant, perpetual flood of GC_* messages, with
    pause times
     
    *D/dalvikvm( 1065): GC_CONCURRENT freed 427K, 6% free 9304K/9896K, paused
    1ms+2ms, total 17ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 428K, 6% free 9306K/9896K, paused
    2ms+2ms, total 27ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 443K, 6% free 9308K/9896K, paused
    1ms+3ms, total 22ms*
    *D/dalvikvm( 1013): GC_EXPLICIT freed 108K, 17% free 12960K/15532K, paused
    2ms+5ms, total 44ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 416K, 6% free 9304K/9896K, paused
    1ms+4ms, total 17ms*
    *D/dalvikvm( 578): GC_FOR_ALLOC freed 1036K, 16% free 22510K/26540K,
    paused 97ms, total 97ms*
    *I/dalvikvm-heap( 578): Grow heap (frag case) to 22.378MB for 380496-byte
    allocation*
    *D/dalvikvm( 578): GC_FOR_ALLOC freed 9K, 16% free 22872K/26912K, paused
    94ms, total 94ms*
    *D/dalvikvm( 578): GC_FOR_ALLOC freed 447K, 17% free 22425K/26912K, paused
    90ms, total 90ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 405K, 6% free 9307K/9896K, paused
    2ms+3ms, total 19ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 422K, 6% free 9306K/9896K, paused
    1ms+1ms, total 14ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 409K, 6% free 9310K/9896K, paused
    2ms+2ms, total 24ms*
    *D/dalvikvm( 1013): GC_EXPLICIT freed 95K, 17% free 12969K/15532K, paused
    3ms+15ms, total 67ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 390K, 6% free 9305K/9896K, paused
    1ms+1ms, total 15ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 385K, 6% free 9305K/9896K, paused
    1ms+1ms, total 15ms*
    *D/dalvikvm( 1065): GC_CONCURRENT freed 442K, 6% free 9307K/9896K, paused
    1ms+3ms, total 24ms*
     
     
    After uninstalling the Android Wear App, top showed significant reduction
    of resource consumption ( down to 2% User and System 3% ( from the
    earlier User 51%, System 13%, IOW 0%, IRQ 0% ) and the incessant stream of
    GC messages stopped.
     
    top output, after uninstalling Android Wear app from Google :
     
    *User 2%, System 3%, IOW 0%, IRQ 0%*
    *User 7 + Nice 0 + Sys 12 + Idle 288 + IOW 0 + IRQ 0 + SIRQ 0 = 307*
     
    * PID PR CPU% S #THR VSS RSS PCY UID Name*
    *14675 0 2% R 1 1304K 488K shell top*
    * 578 0 1% S 76 984412K 75472K fg system system_server*
    * 200 0 0% S 9 10548K 772K nobody
    /system/bin/sensors.qcom*
    * 985 0 0% S 37 921636K 44632K fg u0_a7
    com.google.process.location *
     
     
    Anyone here who has had similar observations, or some explanation ?
     
    Thank you
     
    Sanjay Mishra

     

    Deepak Soni <deepakvsoni@gmail.com> Jul 24 09:00AM -0500  

    Blake,
    If I set sync automatic to false then periodic sync does not trigger. I
    wanted overnight but the sync was never triggered.
     
    Anyways if you come across any such issue and have solved it please do let
    me know and thank you very much for your time.
     
    Deepak

     

    "G. Blake Meike" <blake.meike@gmail.com> Jul 24 11:07AM -0700  

    Deepak,
    Not sure if it will help, but I have a minimal SyncAdapter that, on both
    my phone and on a Genymotion emulator, syncs about every 20 minutes (which
    is a bit odd, because it is nominally scheduled every 15 minutes).
     
    The docs are, to this day, nearly useless. The example program is so full
    of bugs (not the least of which is that the schedule interval is off by 3
    orders of magnitude!) Apparently, the order in which you call the
    ContentResolver methods and the actual account creation, are also
    significant.
     
    In L, the whole SyncAdapter will be rewritten as a specialization of the
    JobScheduler. That should be much better.
     
    Sorry I can't be of more help.
     
    -blake

     

    Deepak Soni <deepakvsoni@gmail.com> Jul 24 04:12PM -0500  

    Blake,
    You say "Apparently, the order in which you call the ContentResolver
    methods and the actual account creation, are also significant.", can you
    give more detail about this as I didn't find this in documentation or
    forums I read.
     
    On Thu, Jul 24, 2014 at 1:07 PM, G. Blake Meike <blake.meike@gmail.com>
    wrote:
     
    > Apparently, the order in which you call the ContentResolver methods and
    > the actual account creation, are also significant.
     
     
     
     
    Regards,
    *Deepak*

     

    Nayanesh Gupte <nayanesh.gupte@gmail.com> Jul 24 04:45AM -0700  

    Hi François R.,
     

    Did you get any solution for this?
     
    On Sunday, December 6, 2009 12:02:31 AM UTC+5:30, François R. wrote:
     

     

[android-developers] Digest for android-developers@googlegroups.com - 11 updates in 6 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    "G. Blake Meike" <blake.meike@gmail.com> Jul 23 09:11AM -0700  

    I glanced through them and it all looks pretty good to me. If you are sure
    that you are never calling notifyChanged with the third arg = true, the
    only thing I can suggest is that, somehow, you have setSyncAutomatically =
    true.
     
    Pretty mysterious.
     
    -blake
     
    On Tuesday, July 22, 2014 2:19:02 PM UTC-7, Deepak wrote:

     

    Deepak Soni <deepakvsoni@gmail.com> Jul 23 11:41AM -0500  

    Blake,
    I do have this method call (below) but if I don't set set this the periodic
    sync does not execute, should I not be setting this to true?
     
    ContentResolver.setSyncAutomatically(account, Table.AUTHORITY, true);
     
    Regards,
    *Deepak*
     
     
    On Wed, Jul 23, 2014 at 11:11 AM, G. Blake Meike <blake.meike@gmail.com>
    wrote:
     

     

    Deepa M <deepam8900@gmail.com> Jul 24 09:53AM +0530  

    Hi all,
    Is it possible to live stream the video frm videoplayer (which plays
    recorded video ) in android?
     
    Thanks and Regards
     
    Deepa M

     

    Nathan <nathan.d.mellor@gmail.com> Jul 23 11:06AM -0700  

    I have collected more data on the topic that you might be interested in.
    Trying to give back.
     
    In five days of Analytics data, I have found
    85 devices returning no orientation sensor.
    Of these, most do not have a magnetic sensor either, such as the Samsung
    SCH-S738C Galaxy Centura. So some people complaining about the compass
    won't get a solution.
    However ten or so do not return the orientation, but do have the magnetic
    sensor, such as a few of the gazillion iterations of the Samsung S III or
    Samsung S IV, such as Samsung GT-I9300 Galaxy S III. So some of those
    saying the compass doesn't work in one app but does work in some others,
    are part of a group that is rare but real. Of course, this doesn't tell us
    how many devices return the orientation_sensor, but have erroneous or low
    res data.
     
    What I have done may be a bit rash, but I released the product preferring
    the magnetic/accelerometer whenever API>=9. So far I have a few complaints
    that it is jittery (smoothing hasn't been released yet), two people that
    were healed, and relatively quiet otherwise.
     
    Do most of you agree with Adam that the rotation sensor is to be preferred
    and needs no smoothing when it exists? I haven't tried that one yet.
     
    I've noticed that about 15 devices, including the Amazon KFTHWI Kindle Fire
    HDX 7 3rd Gen return a rotation sensor (and sometimes an orientation
    sensor) even when they don't return a magnetic sensor. Does this mean their
    rotation data is suspect, or just that they might not expose the magnetic
    data.
     
    I could post my full findings in another week if people are interested.
     
    One thing I can definitely conclude is that if a customer has a complaint
    about a sensor, and gives you the device name simply as "Galaxy S III",
    that isn't nearly specific enough.
     
    Nathan

     

    Adam Ratana <adam.ratana@gmail.com> Jul 23 05:58PM -0400  

    Hi Nathan, I had posted this earlier in the thread --
     
    https://github.com/ratana/rotation-vector-compass
     
    This is my project where I attempt to get the canonical bearing with
    respect to where the user is pointing, which many of the above can get
    wrong. It has a few implementations of filters / smoothers and sensors
    (mag + accel, rotation vector), device orientations (portrait, landscape)
    etc.. the apps I develop have a need for this to be correct, so I've
    worked hard on this problem, and of course the project could use some more
    love and introspection.
     
    Feel free to PM me off list as well, if this helps or if you have any
    questions about it.
     
    Adam
     
     
     
    --
    Adam Ratana
    adam.ratana@gmail.com

     

    dashman <erjdriver@gmail.com> Jul 23 11:32AM -0700  

    I've got an activity and would like to set the background to the current
    theme background color.
     
    I set the activity's layout android:background="?android:windowBackground"
    and that seems to work
     
     
    Inside the activity I would like to draw some boxes/panels and set the
    background to a slightly
    different color - based on light or dark theme.
     
    How can I do that.
     
    I tried "?android:panelBackground" and that's not quite what I want.
     
    Any special value out there that'll display a light gray - if the current
    window background is white.

     

    saex <elpablosaez@gmail.com> Jul 23 08:32AM -0700  

    Welcome all
     
    i need to add a onScreen Joystick to my game.
     
    I found some code examples of joysticks but none of them moves a view on
    the screen, and i dont know how to move a view in the screen with the exact
    movement and acceleration of the joystick movement.
     
    This is one of the examples i found:
     
    http://www.youtube.com/watch?v=S7U_B7EDT_Q
     
    Source code: http://goo.gl/m0bTse
     
    I have no idea of how to move a view (my game spaceship) in the screen with
    the joystick movement.
     
    Thanks a lot

     

[android-developers] Digest for android-developers@googlegroups.com - 2 updates in 2 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Deepak Soni <deepakvsoni@gmail.com> Jul 22 04:09PM -0500  

    Hello Blake,
    Did you get a chance to look through the code snippets I shared? I still
    haven't been able to figure out the cause of the account sync in every ~10
    mins.
    Thank you for your time.
     
    Regards,
    *Deepak*
     
     

     

    Nobu Games <dev.nobu.games@gmail.com> Jul 22 07:52AM -0700  

    Here is a follow-up since I am still getting emails from people around the
    world: the *titlebar-webview hack does not work* anymore and* it cannot be
    fixed.* That's why I deleted the project from Google Code. It was a nasty
    hack that exposed a hidden interface and was actually doomed to fail over
    time.
     
    If you want to have a title bar view then please consider a fixed layout
    (title bar view permanently on top of web view) or try to create something
    along the lines of the NavigationDrawer component.

     

[android-developers] Digest for android-developers@googlegroups.com - 3 updates in 3 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    DoubleCheese <dennis.angelo@gmail.com> Jul 21 10:29PM -0700  

    Hi,
     
    I'm recording a video using a media recorder object and I'm setting the
    previewsize the same as the video size.
     
    I'm using the following
    profile: CamcorderProfile.get(Camera.CameraInfo.CAMERA_FACING_BACK,
    CamcorderProfile.QUALITY_720P);
     
     
    But I noticed on samsung galaxy note 2, the videos are stretched. I
    compared the video with the standard camera app on the galaxy note 2 but
    the videos here are not stretched.
     
     
    Can anyone provide me a clue why this is and what can i do to fix it?

     

    Vincent <vincent.vbel@gmail.com> Jul 21 03:22PM -0700  

    Hello,
     
    In my app the user can select files and open them in the appropriate app (using an ACTION_VIEW intent). I need to do some work on the data before giving it to the other app. So I'm using a streaming solution : I've implemented a ContentProvider that implements openTypedAssetFile and writeDataToPipe (this method fills the output ParcelFileDescriptor created by openPipeHelper).
     
    This works : I can open .pdf files, .txt files etc. The streaming seems correct. I can open images usings 3-party apps. However when I open an image using the Gallery, it doesn't work (Gallery shows a black screen), and I get the following exception :
     
    fail to open myfile.jpg
    UriImage(21890): java.io.FileNotFoundException: Not a whole file
    I had a look at the Gallery source (here) and I could see that the exception is thrown here :
     
    try {
    if (MIME_TYPE_JPEG.equalsIgnoreCase(mContentType)) {
    InputStream is = mApplication.getContentResolver()
    .openInputStream(mUri);
    mRotation = Exif.getOrientation(is);
    Utils.closeSilently(is);
    }
    **mFileDescriptor = mApplication.getContentResolver()
    .openFileDescriptor(mUri, "r");**
    if (jc.isCancelled()) return STATE_INIT;
    return STATE_DOWNLOADED;
    } catch (FileNotFoundException e) {
    Log.w(TAG, "fail to open: " + mUri, e);
    return STATE_ERROR;
    }
    However, once in the Gallery app, if I select "Set as wallpaper", then I can see my image, it is then well streamed. So the problem appears when Gallery opens.
     
    After a deeper look (in the ContentResolver code etc.) I couldn't understand why it behaves this way. It seems that Gallery does not support streaming files. Is that right ? Do you have any idea ? I really lost with that right now.
     
    Thanks
     
    Vincent

     

    saex <elpablosaez@gmail.com> Jul 21 02:37PM -0700  

    I have a game that shows some animations onscreen and one MediaPlayer
    playing with infinite loop the background music, and i am seeing frame rate
    jumps when the song ends and start a loop.
     
    Why is this happening? MediaPlayer is not efficient in the loop?
     
    Can the frame rate jump be avoided?
     
    Thanks
     
    My mediaplayer:
     
    mPlayer = MediaPlayer.create(GameActivity.this, R.raw.pieceofwood);
    mPlayer.setLooping(true);
    mPlayer.start();
     
    My animations:
     
    fall = ObjectAnimator.ofFloat(view, "y",-height, sh);
    fall.setDuration(fallTime);
    fall.setInterpolator(null);
    fall.start();

     

[android-developers] Digest for android-developers@googlegroups.com - 11 updates in 6 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    dashman <erjdriver@gmail.com> Jul 20 05:13PM -0700  

    I'm creating a custom view and would like to set the background color to the
    current theme's background color.
     
    How do I do it?
     
    I know the solution entails themes and attributes - but not too sure.
     
    Is there a list of all the relevent values for a given OS version (e.g
    .Android 3.0)

     

    Darren McEntee <darren.mcentee@gmail.com> Jul 20 09:06AM -0700  

    Hi people, i am looking for some advice please on an Android app scenario,
    im sure a few of you have come across.
     
    I have a free ad-supported "Lite" version of my app in the play store.
    I also have a paid "Pro" version with no ads and some extra functionality.
     
    Pro:
    https://play.google.com/store/apps/details?id=com.visualdesign.livefootballontv
    Lite:
    https://play.google.com/store/apps/details?id=com.visualdesign.livefootballontvlite
     
    The current app is a little old now, and I am currently rewriting the app,
    completely from the ground up, with a new UI and a lot more functionality.
    I want to use the Lite package: com.visualdesign.livefootballontvlite as
    the new base for the new app redesign, then have in-app purchases as an
    upgrade to the new Pro features.
     
    My issue arises obviously needing to support the current Pro users, and
    wanting to have only one code base to manage.
     
    I'd like for the new Lite version (com.visualdesign.livefootballontvlite)
    to be able to upgrade to the pro features in the same source code (via
    In-App Purchase)
    But the current Pro version has a different code base
    (com.visualdesign.livefootballontv), and I need a way to try get the
    current pro user, over to the new edition also.
     
    I'm sure many have had this scenario, and I'd like to ask your advice and
    experiences on how to better manage this?
     
    Many thanks for your time,
    Regards,
    Darren.

     

    Steve Gabrilowitz <steveg1701@gmail.com> Jul 20 12:14PM -0400  

    My solution was to keep the pro and lite versions in separate apps and turn
    the current code into a library unit. Then you have your 2 different apps
    derived from (mostly) the same code base.

     

    TreKing <trekingapp@gmail.com> Jul 20 06:17PM -0500  

    On Sun, Jul 20, 2014 at 11:06 AM, Darren McEntee <darren.mcentee@gmail.com>
    wrote:
     
    > current pro user, over to the new edition also.
     
    > I'm sure many have had this scenario, and I'd like to ask your advice and
    > experiences on how to better manage this?
     
    Merge your code base using an Android Library Project and make distinctions
    of which is lite and and which is paid at runtime to determine whether to
    show ads or limit features. (This is what I currently do).
     
    You could also update your apps so the paid version becomes a key and the
    lite version checks for its existence to unlock pro features. Then you can
    basically abandon the pro version.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    Deepak <deepakvsoni@gmail.com> Jul 20 09:00AM -0700  

    Anybody faced similar issue and have resolved it please let me know the solution

     

    "G. Blake Meike" <blake.meike@gmail.com> Jul 20 10:37AM -0700  

    Sorry, missed the note that you were passing "false" in the original.
     
    I've build several Sync Adapters that sync periodically. They seem to work
    fine. It is hard to guess what could be wrong.
     
    The period is, definitely, in seconds, not millis.
     
    Have you checked to see that none of your calls are failing due to missing
    permissions? You may need account permissions...
     
    -blake

     

    Deepak Soni <deepakvsoni@gmail.com> Jul 20 05:13PM -0500  

    Hope below code snippet help identify issue:
     
    Permissions in AndroidManifest
     
    <uses-permission android:name="android.permission.INTERNET" />
     
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
    />
     
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     
    <uses-permission android:name="android.permission.INTERNET" />
     
    <uses-permission android:name=
    "android.permission.WRITE_EXTERNAL_STORAGE" />
     
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
     
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
     
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"
    />
     
    Notification calls in content provider:
     
    insert:
     
    getContext().getContentResolver().notifyChange(uri, null, false);
     
    delete:
     
    getContext().getContentResolver().notifyChange(uri, null, false);
     
    update:
     
    getContext().getContentResolver().notifyChange(uri, null, false);
     
    getContext().getContentResolver().notifyChange(
     
    Table.PATH_RAW_QUERY_URI, null, false);
     
     
    Enable sync on selected account:
     
    ContentResolver.setIsSyncable(account, Table.AUTHORITY, 1);
     
    ContentResolver.setSyncAutomatically(account, Table.AUTHORITY,
     
    true);
     
    ContentResolver.addPeriodicSync(account, Table.AUTHORITY,
     
    new Bundle(), P.Defaults.DRIVE_SYNC_FREQUENCY);
     
    Syncadapter.xml
     
    <sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
     
    android:accountType="com.google"
     
    android:contentAuthority="content provider package name"
     
    android:supportsUploading="true"
     
    android:userVisible="true" />
     
     
    Let me know if there is any other code snippet will help analyse the issue.
     
    About account: I require Google account which I use to connect to user's
    Google Drive.
     
    I do not have an authenticator, is it an issue?
     
    Another thought, though I have not verified, is my application shows up in
    particular Google account linked application list (when you open the
    account). So is my application sync some how linked to sync of other
    applications?
     
    Regards,
    *Deepak*
     
     
    On Sun, Jul 20, 2014 at 12:37 PM, G. Blake Meike <blake.meike@gmail.com>
    wrote:
     

     

    greno <greno@verizon.net> Jul 20 08:09AM -0700  

    Something is not right about the way
    that ../sdk/extras/android/support/v7/appcompat/bin/classes.jar is being
    built:
     
    $ jar tf ../sdk/extras/android/support/v7/appcompat/bin/classes.jar
    META-INF/
    META-INF/MANIFEST.MF
    .readme
     
     
    There's no classes in the jar !!
     
    Google, why doesn't this library build it's classes.jar?

     

    greno <greno@verizon.net> Jul 20 11:55AM -0700  

    In case anyone else runs into this issue:
     
    The problem stemmed from utilizing a file from part of the support library
    itself.
     
    All I needed was to modify the following:
     
    import android.support.v7.appcompat.R;
    to
    import my.package.R;

     

    Deepak <deepakvsoni@gmail.com> Jul 20 09:12AM -0700  

    Have you overridden onBackPressed in activity B in which case you should call this.finish() in B. Your code should look similar to this
    class A : Activity {
    onClick(..) {
    start activity B
    }
    }
     
    class B : Activity {
    onBackPressed() {
    this.finish(); /* this takes you back to the previous activity on stack. You need not do start activity to go to A as it will create new activity A and launch it instead of closing B and going to previous A.*/
    }
    }

     

    flix <felix.haedicke@gmail.com> Jul 20 02:28AM -0700  

    As for most APIs, there is no word about thread safety in the Bluetooth
    GATT API documentation.
     
    I have implemented a driver for the HM-10 BLE module, which is an UART
    adapter. It has one GATT characteristic for reading and writing data. So I
    get notifications about incoming data in the onCharacteristicChanged()
    callback function of my BluetoothGattCallback implementation. These
    callbacks are called from a "Binder" thread which the Android framework
    maintains. To write data, I need to call setValue() on the
    BluetoothGattCharacteristic object and call writeCharacteristic() on the
    BluetoothGatt instance afterwards. This is done from a thread of my app.
     
    And here is the problem: Unsurprisingly, BluetoothGattCharacteristic is not
    thread safe: What sometimes happens is that the Value property of my
    BluetoothGattCharacteristic gets overwritten during my write operation,
    when incoming data is received in the very same moment.
     
    Any idea how to solve this? Is it somehow possible to place the code for
    writing data in the same thread where the BluetoothGattCallback callbacks
    occur?

     

[android-developers] Digest for android-developers@googlegroups.com - 6 updates in 4 topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    dashman <erjdriver@gmail.com> Jul 19 12:45PM -0700  

    I've got a simple .9.png file.
     
    Trying to create a red background with a 1-pixel gray border.
     
    My png file is 5x5 pixels
     
    --B--
    -GGG-
    BGRG-
    -GGG-
    -----
     
    B black
    G gray - hex 999999
    R red
    - transparent
     
    The problem is when the image is displayed - it seems to display
    a gradient - gray from the edges to red in the center.
     
    I just want a 1 pixel gray border and the red pixel stretched.
     
     
    It seems to display as I want on the emulator but on the 4.4 device
    it has this gradient display.
     
    any help?
     
    p.s. this is a background to a Button or ImageButton - same behavior.

     

    Kostya Vasilyev <kmansoft@gmail.com> Jul 20 12:07AM +0400  

    Maybe try putting it under "drawable-nodpi" to avoid scaling?
     
    -- K
     
     

     

    dashman <erjdriver@gmail.com> Jul 19 01:39PM -0700  

    Thank you.
     
    That was it - spent 3 hrs on this!!!

     

    greno <greno@verizon.net> Jul 19 09:57AM -0700  

    Using tools 23.0.2
    And latest SDK
     
    I've checked my xml resources for errors. I've run them through tidy and
    they are ok.
    I've cleaned the project.
     
    But still I'm getting errors trying to use appcompat v7 support library.
     
    here's where I have the appcompat_v7 library:
    $ ls ../sdk/extras/android/support/v7/appcompat/
    AndroidManifest.xml build.xml libs proguard-project.txt
    README.txt src
    bin gen local.properties project.properties res
     
    And here's my main project project.properties:
    android.library.reference.4=../sdk/extras/android/support/v7/appcompat
     
    When I run 'ant debug' it builds the appcompat library classes.jar
     
    And here's the errors I'm seeing:
    ListPopupWindow.java:26: error: package android.support.v7.appcompat
    does not exist
    [javac] import android.support.v7.appcompat.R;
     
    Here's the generated classes.jar and R.java:
    $ ls -l ../sdk/extras/android/support/v7/appcompat/bin/classes.jar
    -rw-rw-r--. 1 greno greno 538 Jul 19 12:24
    ../sdk/extras/android/support/v7/appcompat/bin/classes.jar
     
    $ ls -l
    ../sdk/extras/android/support/v7/appcompat/gen/android/support/v7/appcompat/R.java
    -rw-rw-r--. 1 greno greno 174070 Jul 19 12:24
    ../sdk/extras/android/support/v7/appcompat/gen/android/support/v7/appcompat/R.java
     
    What else is needed?

     

    greno <greno@verizon.net> Jul 19 09:44AM -0700  

    Using tools 23.0.2
    And latest SDK
     
    I've checked my xml resources for errors. I've run them through tidy and
    they are ok.
    I've cleaned the project.
     
    But still I'm getting errors trying to use appcompat v7 support library.
     
    here's where I have the appcompat_v7 library:
    $ ls ../sdk/extras/android/support/v7/appcompat/
    AndroidManifest.xml build.xml libs proguard-project.txt
    README.txt src
    bin gen local.properties project.properties res
     
    And here's my main project project.properties:
    android.library.reference.4=../sdk/extras/android/compatibility/v7/appcompat
     
    When I run 'ant debug' it builds the appcompat library classes.jar
     
    And here's the errors I'm seeing:
    ListPopupWindow.java:26: error: package android.support.v7.appcompat
    does not exist
    [javac] import android.support.v7.appcompat.R;
     
    Here's the generated classes.jar and R.java:
    $ ls -l ../sdk/extras/android/support/v7/appcompat/bin/classes.jar
    -rw-rw-r--. 1 greno greno 538 Jul 19 12:24
    ../sdk/extras/android/support/v7/appcompat/bin/classes.jar
     
    $ ls -l
    ../sdk/extras/android/support/v7/appcompat/gen/android/support/v7/appcompat/R.java
    -rw-rw-r--. 1 greno greno 174070 Jul 19 12:24
    ../sdk/extras/android/support/v7/appcompat/gen/android/support/v7/appcompat/R.java
     
    What else is needed?

     

    saex <elpablosaez@gmail.com> Jul 19 04:26AM -0700  

    when you are showing a Google Play Game Services LeaderBoard with this code:
     
    startActivityForResult(Games.Leaderboards.getLeaderboardIntent(getApiClient(),
    "333333assad87asd"), 1);
     
    It's first showed the "circles" leaderboard. I want to show first the
    "Public" leaderboard.
     
    Is that possible?