Title

Conversations 相关

Conversations.im 官网
GitHub - Conversations

分享位置插件
siacs/ShareLocationPlugin
kriztan/OpenShareLocationPlugin

Conversation 迁移指南 05-06 v1.12.1

  • 将 Conversation/lib/MemorizingTrustManager 复制到本项目 ./libs/ 下,注意在项目依赖加入模块
  • 将 C:\Users\yafei\AppDeveloperWorkspace\Android\Conversations-master\src\ 下的 [playstore free] 文件夹拷贝到同等级目录下覆盖
  • 复制 Conversations 项目下 build.gradle 的依赖项,修改为如下部分添加到 项目 CoamAndroid/app/build.gradle 下,修改参见 CoamAndroid/app/build.gradle 中配置
  • 复制 Conversation/src/main/jave 下的整个项目文件夹结构 (eu.siacs.conversations) 到 本项目 CoamAndroid/app/main/src 下,修改部分为
1
2
[eu.siacs.conversations.R;] 全部替换为 [import com.coam.shangyun.R;]
修改 eu.siacs.conversations.ui.widget.Switch 继承自 com.coam.plugins.switchbutton.SwitchButton
  • 将 [Conversation/src/main/java/AndroidManifest.xml] 下的 application 迁移到本项目 [CoamAndroid/app/src/main/java/AndroidManifest.xml] ,修改部分参见 [CoamAndroid/app/src/main/java/AndroidManifest.xml]

Conversation/src/main/res/* 下的复制

  • 将 [Conversation/src/main/res/drawable] 全部复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/drawable]
  • 将 [Conversation/src/main/res/xml/] 目录文件全部复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/xml/]
  • 将 [Conversation/src/main/res/raw/] 目录文件全部复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/raw/]
  • 将 [Conversation/src/main/res/layout/] 目录文件全部添加 conversations_ 前缀 并复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/layout/]
  • 将 [Conversation/src/main/res/menu/] 目录文件全部添加 conversations_ 前缀 并复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/menu/]
  • 将 [Conversation/src/main/res/values/] 目录文件全部添加 conversations_ 前缀 并复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/values/]
  • 将 [Conversation/src/main/res/values-] 目录文件全部复制到本项目相应文件夹下 [CoamAndroid/app/src/main/res/values-],其中与本项目有冲突部分 values-v21/dimens.xml 和 values-v21/themes.xml 前面添加 conversations_ 前缀

以上总结:

1.将 Conversation/src/main/res/ 下的所有除了 [layout layout-w945dp menu values values-v21 values-w360dp values-w384dp values-w585dp values-w945dp] 三个文件夹外,全部全盘复制到 Conversation/src/main/res/
2.[layout layout-w945dp menu values values-v21 values-w360dp values-w384dp values-w585dp values-w945dp] 三个文件夹下的所有文件前面统一添加 conversations_ 前缀[通过Python脚本程序 ConversationsMigrate.py],拷贝到 Conversation/src/main/res/

以上修改总结,最终方案:

1.将 Conversation/src/main/res/ 下的所有除了 [drawable-hdpi drawable-mdpi drawable-xhdpi drawable-xxhdpi drawable-xxxhdpi] 几个文件夹外,
所有文件夹的子文件前面统一添加 conversations_ 前缀[通过Python脚本程序 ConversationsMigrate.py],拷贝到 Conversation/src/main/res/* 下

复制 app\src\playstore\java\eu\siacs\conversations\services* 下的三个文件 [InstanceIdService.java PushManagementService.java PushMessageReceiver.java] 到 app\src\main\java\eu\siacs\conversations\services* 下

  • 修改部分

将 conversations_styles.xml 中以下样式注释掉哦

1
2
3
4
5
6
7
8
9
10
11
12
13
    <style name="MD">
<!-- <item name="animationVelocity">6</item>
<item name="insetBottom">16dp</item>
<item name="insetTop">16dp</item>
<item name="insetLeft">16dp</item>
<item name="insetRight">16dp</item>
<item name="measureFactor">1.4</item>
<item name="offDrawable">@drawable/switch_back_off</item>
<item name="onDrawable">@drawable/switch_back_on</item>
<item name="thumbDrawable">@drawable/switch_thumb</item>
<item name="thumb_margin">-17dp</item>
<item name="android:padding">16dp</item>-->
</style>

  • ui/ConversationAdapter.java Line 55

    1
    2
    //swipeableItem.setBackgroundColor(c);
    swipeableItem.setBackgroundColor(ContextCompat.getColor(activity, c));
  • ui/XmppActivity.java Line 733

    1
    2
    //trustToggle.setChecked(trust.trusted(), false);
    trustToggle.setChecked(trust.trusted());

Telegram 相关

https://my.telegram.org
google-services.json

DrKLO/Telegram
Android Telegram App –> java.lang.UnsatisfiedLinkError: No implementation found for void
Telegram NDK build : Command not found
NDK Downloads
How to compile telegram jni folder

Dove - 专为群组而建
tinfinite/dove-android
Dove
爲甚麼李笑來的新項目「Dove」基於 GPL v2 證書的「Telegram」,卻可以不讓用戶獲得它的源代碼?

编译 jni 的 so 文件

1
2
3
4
5
6
7
8
edit C:\cygwin64\home\yafei\.bashrc
add export ndkbuild=/cygdrive/C/TDDownload/android-ndk-r11b-windows-x86_64/android-ndk-r11b/ndk-build.cmd
open Cygwin64 cmd
cd /cygdrive/C/Users/yafei/AppDeveloperWorkspace/Android/CoamApp/Telegram-master/TMessagesProj/jni
$ $ndkbuild
=or win cmd==========
cd C:\Users\yafei\AppDeveloperWorkspace\Android\CoamApp\Telegram-master\TMessagesProj\jni
C:\TDDownload\android-ndk-r11c-windows-x86_64\android-ndk-r11c\ndk-build.cmd

开发约定规范事项

  • 所有 [CoamAndroid/app/main/src/eu.siacs.conversations/*] 下的代码,增加部分标注以 [//M +++>] 开头,以 [//M +++<] 结尾;删减部分标注以 [//M —>] 开头,以 [//M —<] 结尾
文章目录
  1. 1. Conversations 相关
  2. 2. Conversation 迁移指南 05-06 v1.12.1
  3. 3. Conversation/src/main/res/* 下的复制
    1. 3.1. 以上总结:
    2. 3.2. 以上修改总结,最终方案:
    3. 3.3. 复制 app\src\playstore\java\eu\siacs\conversations\services* 下的三个文件 [InstanceIdService.java PushManagementService.java PushMessageReceiver.java] 到 app\src\main\java\eu\siacs\conversations\services* 下
  4. 4. Telegram 相关
  5. 5. 开发约定规范事项