Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LSPatch 時のトークのバックアップ/復元機能の実装 #195

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

areteruhiro
Copy link
Collaborator

@areteruhiro areteruhiro commented Oct 18, 2024

確認項目

  • 動作確認済み
  • 誤字脱字無し

説明

@areteruhiro
Copy link
Collaborator Author

コードの修正がまだ出来ていません、

@areteruhiro
Copy link
Collaborator Author

これ以下の仕様(一度アプリを削除するとリストアするために、上書きしなければいけない)があるんですけど、このままで大丈夫ですか?
https://github.com/areteruhiro/LIME-beta-hiro/releases/tag/v1.10.3

@s1204IT
Copy link
Collaborator

s1204IT commented Oct 20, 2024

今月中にもう少し詳細な検証を行いますね。

僕の技術で無理なら諦めて一旦このまま実装します。

@s1204IT s1204IT self-requested a review October 20, 2024 03:54
@areteruhiro
Copy link
Collaborator Author

エラー的には権限がないよ!って言われる感じなんですよね

@s1204IT s1204IT changed the title LsPatch下でのトークバックアップの代替手段と、トークの画像のバックアップ LSPatch 時のトークのバックアップ/復元機能の実装 Oct 26, 2024
@s1204IT s1204IT added LSPatch LSPatchを使用 talk トーク関係 login アカウントのログイン後及びバックアップの復元 labels Oct 26, 2024
@areteruhiro
Copy link
Collaborator Author

改善策みつかりそうですか?
一旦コード、修正しておきますね

@s1204IT
Copy link
Collaborator

s1204IT commented Nov 10, 2024

ちょっと調べたけど分かんなかったです。

@areteruhiro
Copy link
Collaborator Author

areteruhiro commented Nov 22, 2024

これ、難しいですが解決方法思い浮かびました。
limeにファイル権限を与える
→SharedPreferencesにファイルデータを保存する

XSharedPreferencesで、lineに渡す

@areteruhiro
Copy link
Collaborator Author

areteruhiro commented Nov 22, 2024


public void saveFileToSharedPreferences(Context context, String filePath, String key) throws IOException {
    
    File file = new File(filePath);
    byte[] fileBytes = Files.readAllBytes(file.toPath());
    
    String encoded = Base64.encodeToString(fileBytes, Base64.DEFAULT);

    
    SharedPreferences sharedPreferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, encoded);
    editor.apply();
}

public void loadFileFromSharedPreferences(Context context, String key, String outputPath) throws IOException {
    // SharedPreferences から取得
    SharedPreferences sharedPreferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
    String encoded = sharedPreferences.getString(key, null);

    if (encoded != null) {
        // Base64デコード
        byte[] fileBytes = Base64.decode(encoded, Base64.DEFAULT);

        // ファイルとして保存
        File outputFile = new File(outputPath);
        try (FileOutputStream fos = new FileOutputStream(outputFile)) {
            fos.write(fileBytes);
        }
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
login アカウントのログイン後及びバックアップの復元 LSPatch LSPatchを使用 talk トーク関係
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants