mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-09-09 10:19:41 +02:00
Add AndroidSmackInitializer.initialize(Context)
This commit also changes the usage of the android.jar found in the androidBootClasspath gradle variable, because AndroidSmackInitializer.initialize(Context) pulls in org.minidns.dnsserverlookup.android21.AndroidUsingLinkProperties from minidns-android21, which has a @TargetApi annotation which is only available on Android SDK API level 16 or higher. Otherwhise we would get > Task :smack-android:compileJava FAILED /home/flo/.gradle/caches/modules-2/files-2.1/org.minidns/minidns-android21/0.3.0/13f273d095e51d701283062a25e867f3ff26d258/minidns-android21-0.3.0.jar(/org/minidns/dnsserverlookup/android21/AndroidUsingLinkProperties.class): warning: Cannot find annotation method 'value()' in type 'TargetApi': class file for android.annotation.TargetApi not found /home/flo/.gradle/caches/modules-2/files-2.1/org.minidns/minidns-android21/0.3.0/13f273d095e51d701283062a25e867f3ff26d258/minidns-android21-0.3.0.jar(/org/minidns/dnsserverlookup/android21/AndroidUsingLinkProperties.class): warning: Cannot find annotation method 'value()' in type 'TargetApi' error: warnings found and -Werror specified 1 error when compiling smack-android.
This commit is contained in:
parent
8fbe84ad4b
commit
ab30b0c921
3 changed files with 30 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2014-2017 Florian Schmaus
|
||||
* Copyright © 2014-2018 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -25,8 +25,15 @@ import org.jivesoftware.smack.util.stringencoder.Base64UrlSafeEncoder;
|
|||
import org.jivesoftware.smack.util.stringencoder.android.AndroidBase64Encoder;
|
||||
import org.jivesoftware.smack.util.stringencoder.android.AndroidBase64UrlSafeEncoder;
|
||||
|
||||
import android.content.Context;
|
||||
import org.apache.http.conn.ssl.StrictHostnameVerifier;
|
||||
import org.minidns.dnsserverlookup.android21.AndroidUsingLinkProperties;
|
||||
|
||||
/**
|
||||
* This class initialized Smack for you on Android. Unfortunately it can't do it automatically, you should call
|
||||
* {@link #initialize(Context)} once before performing your first XMPP connection with Smack. Note that on Android 21 or
|
||||
* higher you need to hold the ACCESS_NETWORK_STATE permission.
|
||||
*/
|
||||
public class AndroidSmackInitializer implements SmackInitializer {
|
||||
|
||||
@Override
|
||||
|
@ -37,4 +44,13 @@ public class AndroidSmackInitializer implements SmackInitializer {
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes Smack on Android. You should call this method fore performing your first XMPP connection with Smack.
|
||||
*
|
||||
* @param context an Android context.
|
||||
* @since 4.3
|
||||
*/
|
||||
public static void initialize(Context context) {
|
||||
AndroidUsingLinkProperties.setup(context);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue