Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    karino2
    @karino2
    ちょっといくつか追記しておきました。考えてみてください、
    masazumi
    @harukawa
    了解です。
    masazumi
    @harukawa
    コンフリクトのパターンも考えてもう一度考え直してみます。
    karino2
    @karino2
    syncがある程度出来たらUIの方は私が直そうと思っているのですが、考えている事を。
    編集時にアップロードするというのは不自然なUIと思っています。
    それよりはアップロードもSyncにまとめる方がいいかな、と。
    で、リスト表示の時点で
    sync時よりローカルのファイルが新しいかどうか、とsync時よりリモートのタイムスタンプが新しいかどうかを表すピクトを表示して状態を分かるようにし、通信はここでのsyncに一本化しようと思っています。
    まだ考えているだけなので実際にsyncを作ってみた時にどうなるか次第ですが、一応自分の考えを伝えておきます。
    masazumi
    @harukawa
    今のテキスト画面のアップロードとアップデートをなくして、リスト画面だけで通信を行う、ということですね。
    たぶんそちらのほうがコードを書くのが楽な気がするので、パターンを後で書いてみます。
    karino2
    @karino2
    そういう事です。
    karino2
    @karino2
    ファイル数が増えてくるとsyncがうまくいかなくなるバグを直したのですが、その過程でターゲットのフォルダ以下のファイルだけをクエリするようにしました。
    たぶんその後の似たようなフィルタリングを手動でしているコードが要らなくなると思うのですが、時間切れでその辺は手をつけてません。マージしたあとそっちで直していただけたらさいわい。
    masazumi
    @harukawa
    そんなバグがありましたか。フィルタリングしていたコードのほうはこちらで直しておきます。
    karino2
    @karino2
    現状、settingのメニューがaction barに出てますが、settingはそんな使わないのでneverの方が良い気はする。
    だが、初回起動時にはこれを設定してくれないと困るので、この時だけ目立つ方が良い。
    たぶん初回起動の時はもっとUIを工夫して、だれでも必要な事が分かるようにした方がいい気がするけどどうですかね?
    フォルダ選べるようにする、というissueがあるけど、個人的には最初選ぶだけだからそこまでやらんでもUIの工夫だけでしのげるんじゃないか、という気がするのだけれど。
    具体的にはfolder idが入ってない時には強制的にそれしかできないActivityに行くようになってて、そこで何をしなきゃいけないかがちゃんと説明されてればそれでいい気がする。
    masazumi
    @harukawa
    メールアドレスとかパスワードを打ち込むログイン画面みたいな感じですね。
    確かに何も知らない人が使うとしたら、そっちのほうが断然分かりやすいですね。
    karino2
    @karino2
    そうですね。しかもそこにスクリーンショットとかURLのここを貼る、みたいな説明とか、何をしなきゃいけないかを書いておくのがいいと思っています。
    masazumi
    @harukawa
    GoogleDriveのIDは普段使うことないですし、その辺りきちんと書くようにします。
    karino2
    @karino2
    久しぶりにDriveTextをいじっている。新しいMacBook ProにAndroidStudioのインストールからやったのだけど、masterのDriveTextでsyncをしてもアカウント選択画面が出るだけでアカウントを選んでもsyncがされない。
    何か必要だったっけか。
    REQUEST_GET_DATAのonActivityResultでfailが返ってきているな。
    karino2
    @karino2
    https://harukawa.github.io/jekyll/update/2019/12/01/Android.html に従いSHA1の値を更新したら動くようになった。
    このリンクがgitterを探さないと見つからないのは良くないですね。そのうちREADME.mdにでも書いておきたい。
    karino2
    @karino2
    TextEditorActivityのSaveは不要な気がする。Editから保存で戻ってきていたら保存してしまえば良いかと。
    karino2
    @karino2
    変なバグが取れない、という時にはまず整理するのが第一歩です。
    AndroidStudioが波線で言ってきている物は一通り直してみてくれますか?例えばSyncServiceのparentIdは波線が出てますよね?
    なお、TAGの所の波線は直さなくていいと思います
    karino2
    @karino2
    SyncServiceのrunはwhileなのは不自然な気がする。素直にforでresを順番に処理していく方が自然な気がする。
    1つ目だけ処理してresを取り直すのは無駄に何度もデータベースにアクセスしている。また、複数のsyncがあったら一回にする、とかの処理はあとでこのforの前に一回resをフィルタリングする感じに実装すれば良いと思う。
    startSyncは複雑になりすぎているので関数に分けていきましょう。
    karino2
    @karino2
    こういう混乱した状態でバグフィクスをごちゃごちゃやるのはあんまり良くない。
    isNotLastTimeSyncのあたりは何がやりたいのかちょっとよくわからないので説明してください。
    karino2
    @karino2
    ただ細かい事はいろいろ挙げましたが全体的にはこんな感じの構造で良いはずですけどねぇ。
    insertGetDriveInfoは渡すのはparentIdだけで良い気もする。
    あ、これprefsから取れるのか。それならparentIdもService側で取れば良いかも。
    整理していってバグ取れば完成で良い気はするな。
    masazumi
    @harukawa
    ありがとうございます。まずバグを書いて整理してから直していきます。
    masazumi
    @harukawa

    isNotLastTimeSyncのあたりは何がやりたいのかちょっとよくわからないので説明してください。

    ドライブとファイルの状態を確認する通信をする時に、もし他のダウンロードとかの命令が残ってたらいけないので、他のコマンドがあればそちらを実行した後に通信を行うようにしました。

    このリンクがgitterを探さないと見つからないのは良くないですね。そのうちREADME.mdにでも書いておきたい。

    README書くときには付け足すようにします。

    masazumi
    @harukawa
    現状の問題点をissuesに追加しておきました。
    karino2
    @karino2
    なんで端末の時間を過去に設定するんですか?
    普通の端末でもちょっとずれてて起きちゃうとか?
    masazumi
    @harukawa
    エミュレータの時間がずれてて起こったので、普通の端末なら大丈夫だと思います。
    一応問題ではあったのでissuesに書いておきました。
    karino2
    @karino2
    なるほど、issueにはその事も書いた方がいいですね。(エミュレータで時間がずれて起こった事、普通の端末なら大丈夫と思うけど一応issueにした事、の二点)
    #45 が目下の問題という事ですかね。
    masazumi
    @harukawa

    なるほど、issueにはその事も書いた方がいいですね。(エミュレータで時間がずれて起こった事、普通の端末なら大丈夫と思うけど一応issueにした事、の二点)

    はい、直しておきます。

    #45のほうは発生条件がよく分かってないので、先に波線消したり、関数の整理のほうからやっていきます。