2014/04/29

FlickrBot v1.1.3

v 1.1.3
+ Remove my download page.
+ Add 'Share' option in album page, you can share an album to others
+ Add 'Download' option in album page, you can download a whole album
+ Add Immersive mode support
+ Add option to only search my own photos
+ Add possible to search on someone photos
> Click on their buddy icon and select search.

*BUGS:*
- Fix some auto backup upload bug
- Fix some FC bug.
- Fix downloaded pictures not shown in gallery bug
- Fix some upload bug

v 1.1.3
+ 移除我的下載頁面
+ 相簿增加分享選項
+ 增加一次下載一個相簿的功能
+ 增加 4.4 Kitkat 全螢幕的功能
+ 搜尋頁面增加只搜尋自己的選項
+ 增加功能來搜尋某人的相片
> 點擊 buddy icon 並且選擇搜尋, 則可搜尋此人的相片

*BUGS:*
- 修正部份自動備份的問題
- 修正部份 FC 的問題
- 修正下載完的照片不會出現在 Gallery 的問題
- 修正部份上傳的問題


Google Play: FlickrBot v1.1.3

2014/04/27

小說閱讀器 v 2.1.1

v 2.1.1
+ 調整部份下載管理員 UI 以及操作
+ 新增 '甜夢文庫' 支援

BUGS:
- 修正部份夜玥分區內文會有亂碼的問題



Google Play: 小說閱讀器 v2.1.1

2014/04/24

小說閱讀器 v 2.0.9

v 2.0.9
+ 增加 '明智屋小說網' 支援
+ 增加 '大家讀書院' 支援
+ 調整下載管理員 UI
BUGS:
- 修正我的書櫃沒設定, 又按重置會導致 FC 的問題
- 修正杭州19樓部份載入問題
- 修正鮮網內文會有些怪異句子的問題
- 修正部份 FC 問題


Google Play: 小說閱讀器 v2.0.9

2014/04/23

如何關閉 LG G2 F320K 的錄影開啟和停止的聲音 (Kitkat)

首先必須要有編譯反編譯的基礎.
由於基本上原廠 rom 都是 odex 的, 所以也必須要 deodex.

如何 deodex 和 odex , 可以參考以下文章.
如何 deodex stock rom 的 apk 檔案.

如何關閉相機聲音可以參考此篇
LG G2 韓版 - 如何開啟相機無聲的選項 for Kitkat

下面是如何把錄影啟動和停止聲音關閉 (這個關閉後除非在修改, 否則沒辦法透過選項再開啟喔)

com/lge/camera/controller/SoundController.smali
.method public playRecordingSound(Z)V
    .locals 3
    .parameter "start"

    .prologue
    .line 632
    const-string v0, "CameraApp"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;->()V

    const-string v2, "playRecordingSound : start = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/lge/camera/util/CamLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 634
    iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction;

    invoke-interface {v0}, Lcom/lge/camera/ControllerFunction;->getApplicationMode()I

    move-result v0

    if-nez v0, :cond_1

    iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction;

    const-string v1, "key_camera_shot_mode"

    invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "shotmode_panorama"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_0

    iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction;

    const-string v1, "key_camera_shot_mode"

    invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "shotmode_plane_panorama"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_0

    iget-object v0, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction;

    const-string v1, "key_camera_shot_mode"

    invoke-interface {v0, v1}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "shotmode_free_panorama"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_1

    :cond_0
    invoke-static {}, Lcom/lge/camera/properties/ShutterSoundProperties;->isSupportShutterSoundOff()Z

    move-result v0

    if-eqz v0, :cond_1

    const-string v0, "off"

    iget-object v1, p0, Lcom/lge/camera/controller/SoundController;->mGet:Lcom/lge/camera/ControllerFunction;

    const-string v2, "key_camera_shutter_sound"

    invoke-interface {v1, v2}, Lcom/lge/camera/ControllerFunction;->getSettingValue(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_1

    .line 649
    :goto_0
    return-void

    .line 644
    :cond_1
    if-eqz p1, :cond_2

    .line 645
    iget v0, p0, Lcom/lge/camera/controller/SoundController;->mSound_startRecording:I

    #invoke-virtual {p0, v0}, Lcom/lge/camera/controller/SoundController;->soundPlay(I)V

    goto :goto_0

    .line 647
    :cond_2
    iget v0, p0, Lcom/lge/camera/controller/SoundController;->mSound_stopRecording:I

    #invoke-virtual {p0, v0}, Lcom/lge/camera/controller/SoundController;->soundPlay(I)V

    goto :goto_0
.end method

如上, 把有 soundPlay(I)V 的部份最前面加上 #, 這樣就不會有聲音了.

不過我個人是不太喜歡按下去完全沒有錄影開始的感覺就是了.



2014/04/16

怎麼使用 adb list 設備上所有的 apps

adb shell pm list packages -f

加上 -f 可以顯示相對應的檔案.
以下為部份輸出結果
package:/system/framework/framework-res.apk=android
package:/system/app/Apollo.apk=com.andrew.apollo
package:/system/app/BackupRestoreConfirmation.apk=com.android.backupconfirm
package:/system/app/Bluetooth.apk=com.android.bluetooth
package:/system/app/Browser.apk=com.android.browser
package:/system/app/Calculator.apk=com.android.calculator2
package:/system/app/Calendar.apk=com.android.calendar
package:/system/app/CarHomeLauncher.apk=com.android.cardock
package:/system/app/CellBroadcastReceiver.apk=com.android.cellbroadcastreceiver
package:/system/app/CertInstaller.apk=com.android.certinstaller
package:/system/app/Contacts.apk=com.android.contacts
package:/system/app/DefaultContainerService.apk=com.android.defcontainer

2014/04/15

論壇瀏覽器 v2.3.6

v 2.3.6
+ 增加部份網站登入時的圖形驗證支援
+ 增加部份網站的相容性
**BUGS:**
- 修正部份 FC 問題



Google play store: v2.3.6

2014/04/13

SwipeRefreshLayout example

原本是使用 https://github.com/chrisbanes/ActionBar-PullToRefresh 來實作往下拉時重新整理.
最近 Google 也推出此功能. 所以稍微玩一下看是否能很簡單的實作.

<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/refreshlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v4.widget.SwipeRefreshLayout>


這邊要特別注意的 SwipeRefreshLayout 底下只能有一個 Layout, 且此 Layout 必須是 scrollable 的. 比如 Listview, Scrollview 或者本範例中的 webview.

由於本範例使用 webview 來測試, 所以 AndroidManifest.xml 裡記得把網路權限加上.
<pre class='brush: xml'>
<uses-permission android:name="android.permission.INTERNET" />

SwipeRefreshLayout 很簡單使用.
主要只要注意幾個就可以了. 從字面上應該都很清楚意思, 另外特別注意, 使用 SwipeRefreshLayout, 一定要 set OnRefreshListener, 否則當下拉時會出現 NULLPointerException.

  1. setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener)
  2. setRefreshing(boolean refreshing)
  3. setColorScheme(int colorRes1, int colorRes2, int colorRes3, int colorRes4)
  4. isRefreshing()

完整的 class 如下

2014/04/10

小說閱讀器 v 2.0.7

v 2.0.7
+ 修改部份廣告載入方式
+ 支援 '杭州19樓' 登入
+ 支援重設'我的書櫃'
BUGS:
- 修正同步的問題
- 修正部份自動檢查更新的問題
- 修正部份搜尋問題
- 修正字體調整的問題

Google Play: 小說閱讀器 v2.0.7

2014/04/08

小說閱讀器 v 2.0.6

v 2.0.6
+ 調整字體大小範圍至 800
+ 增加 '鮮網' 支援
+ 移除跳至最上頁的連結
BUGS:
- 修正部份 FC 問題
- 修正匯出匯入問題
- 修正部份自動檢查小說更新的問題


Google Play: 小說閱讀器 v2.0.6

2014/04/07

FlickrBot v1.1.1

v 1.1.1
+ Add share functions, only links
+ Add photos/sets per page setting.
+ Add 'Add to set/Photoset cover/Remove from set' function.
+ Add 'while charging' setting for auto back up
+ Add 'search photos' feature
+ Add 'Vietnamese' translation
+ Add 'Traditional Chinese' translation
*BUGS:*
- Fix some instant upload bug
- Fix some favorite bug


v 1.1.1
+ 新增分享功能 (只限於連結)
+ 新增每頁相片/相片集載入數目設定
+ 新增加入相片集/從相片集移除的功能
+ 新增 '只限充電時備份' 的功能
+ 新增 '相片搜尋' 功能
+ 新增越南翻譯

*BUGS:*
- 修正部份自動備份的問題
- 修正部份加入最在的問題


Google Play: FlickrBot v1.1.1

2014/04/02

小說閱讀器 v 2.0.5

v 2.0.5
+ 調整字體大小設定範圍
+ 移除久久中文網支援
+ 增加 '青檸言情網' 支援
+ 增加 '六九中文網' 支援
+ 修改單一網站搜尋廣告載入方式
+ 自動檢查更新新增選項 '開啟程式時檢查更新'
+ 新增訂閱更新的項目, 在我的最愛點擊右邊三個點
> 預設會訂閱更新, 要取消請自行取消
+ 我的網站列表新增全網站搜尋功能

BUGS:
- 修正部份字體設定問題
- 修正部份 FC 問題


Google Play: 小說閱讀器 v2.0.5