drew 6 سال پیش
والد
کامیت
a603815b54

+ 15 - 0
app/build.gradle

@@ -10,6 +10,11 @@ android {
         versionCode 1
         versionName "1.0"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        javaCompileOptions {
+            annotationProcessorOptions {
+                includeCompileClasspath true
+            }
+        }
     }
     buildTypes {
         release {
@@ -31,8 +36,18 @@ dependencies {
     androidTestImplementation 'androidx.test.ext:junit:1.1.1'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
     implementation "android.arch.lifecycle:extensions:1.1.3"
+    implementation 'androidx.recyclerview:recyclerview:1.1.0'
     implementation 'com.jakewharton:butterknife:10.2.0'
     annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
     implementation 'org.greenrobot:eventbus:3.1.1'
     implementation 'com.github.GrenderG:Toasty:1.4.2'
+    implementation 'io.reactivex.rxjava2:rxjava:2.2.16'
+    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
+    implementation 'com.squareup.retrofit2:retrofit:2.7.1'
+    implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
+    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
+    implementation "com.squareup.okhttp3:okhttp:3.14.4"
+    implementation "com.squareup.okhttp3:logging-interceptor:3.10.0"
+    implementation 'org.projectlombok:lombok:1.16.8'
+    implementation 'org.glassfish:javax.annotation:10.0-b28'
 }

+ 19 - 0
app/src/main/java/com/ht/gate/ApiService.java

@@ -0,0 +1,19 @@
+package com.ht.gate;
+
+import com.ht.gate.domain.Room;
+import com.ht.gate.domain.RoomMeetings;
+
+import java.util.List;
+
+import retrofit2.Call;
+import retrofit2.http.POST;
+import retrofit2.http.Part;
+import retrofit2.http.Path;
+
+public interface ApiService {
+    @POST("/meeting/service-api/crmnew/bind-device/{deviceId}")
+    Call<Room> bindDevice(@Path("deviceId") String deviceId);
+
+    @POST("/meeting/service-api/crmnew/find-room-meetings")
+    Call<List<RoomMeetings>> roomMeetings(@Part("beginTime") String beginTime, @Part("endTime") String endTime, @Part("roomNo") String roomNo);
+}

+ 24 - 1
app/src/main/java/com/ht/gate/MainActivity.java

@@ -2,6 +2,8 @@ package com.ht.gate;
 
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import android.annotation.SuppressLint;
 import android.content.ComponentName;
@@ -13,14 +15,20 @@ import android.os.IBinder;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
 
+import com.ht.gate.domain.Meeting;
+
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
@@ -35,7 +43,11 @@ public class MainActivity extends AppCompatActivity {
     TextView tvSpaceName;
     @BindView(R.id.tv_room_no)
     TextView tvRoomNo;
-
+    @BindView(R.id.rl_meetings)
+    RelativeLayout rlMeetings;
+    @BindView(R.id.rv_meetings)
+    RecyclerView rvMeetings;
+    private MeetingAdapter adapter;
     private SharedPreferences sharedPreferences;
     private DoorService.DoorBinder mDoorBinder;
 
@@ -84,6 +96,9 @@ public class MainActivity extends AppCompatActivity {
             passwordDialog.show();
         });
         bindService(new Intent(this, DoorService.class), connection, BIND_AUTO_CREATE);
+        adapter = new MeetingAdapter(this);
+        rvMeetings.setLayoutManager(new LinearLayoutManager(this));
+        rvMeetings.setAdapter(adapter);
     }
 
     @OnClick(R.id.btn_settings)
@@ -94,6 +109,14 @@ public class MainActivity extends AppCompatActivity {
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMessageEvent(String msg) {
         updateStatus();
+        if ("meetings".equals(msg)) {
+            if (MyApplication.todayMeetings.isEmpty()) {
+                rlMeetings.setVisibility(View.GONE);
+            } else {
+                rlMeetings.setVisibility(View.VISIBLE);
+            }
+            adapter.notify();
+        }
     }
 
     private void updateStatus() {

+ 56 - 0
app/src/main/java/com/ht/gate/MeetingAdapter.java

@@ -0,0 +1,56 @@
+package com.ht.gate;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.ht.gate.domain.Meeting;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class MeetingAdapter extends RecyclerView.Adapter<MeetingAdapter.MeetingHolder> {
+    private Context context;
+
+    public MeetingAdapter(Context context ) {
+        this.context = context;
+    }
+
+    @NonNull
+    @Override
+    public MeetingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        return new MeetingHolder(LayoutInflater.from(context).inflate(R.layout.item_meeting, parent, false));
+    }
+
+    @SuppressLint("SetTextI18n")
+    @Override
+    public void onBindViewHolder(@NonNull MeetingHolder holder, int position) {
+        Meeting meeting = MyApplication.todayMeetings.get(position);
+        holder.tvContent.setText(Utils.formatDateStr(meeting.getBeginDate()) + " "
+                + Utils.getWeekDay(meeting.getBeginDate()) + " "
+                + Utils.getTimeStr(meeting.getBeginTimeStr()) + "-"
+                + Utils.getTimeStr(meeting.getEndTimeStr()) + " "
+                + meeting.getCreateUser().getUserName() + "预约");
+    }
+
+    @Override
+    public int getItemCount() {
+        return MyApplication.todayMeetings.size();
+    }
+
+    public class MeetingHolder extends RecyclerView.ViewHolder {
+        @BindView(R.id.tv_content)
+        TextView tvContent;
+
+        public MeetingHolder(@NonNull View itemView) {
+            super(itemView);
+            ButterKnife.bind(itemView);
+        }
+    }
+}

+ 52 - 0
app/src/main/java/com/ht/gate/MyApplication.java

@@ -3,7 +3,29 @@ package com.ht.gate;
 import android.app.Application;
 import android.content.SharedPreferences;
 
+import androidx.annotation.NonNull;
+
+import com.ht.gate.domain.Meeting;
+import com.ht.gate.domain.Room;
+import com.ht.gate.domain.RoomMeetings;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import okhttp3.OkHttpClient;
+import okhttp3.logging.HttpLoggingInterceptor;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
 public class MyApplication extends Application {
+    public static List<Meeting> todayMeetings;
+
     @Override
     public void onCreate() {
         super.onCreate();
@@ -13,5 +35,35 @@ public class MyApplication extends Application {
             spaceName = "财富管理室";
             sharedPreferences.edit().putString(SettingsActivity.PREF_KEY_SPACE_NAME, spaceName).apply();
         }
+
+        RetrofitManager.getInstance().init();
+        if (todayMeetings == null) {
+            todayMeetings = new ArrayList<>();
+        }
+
+        Timer timer = new Timer();
+        timer.schedule(new TimerTask() {
+            @Override
+            public void run() {
+                Room room = Room.fromBase64(sharedPreferences.getString("room", null));
+                if (room != null) {
+                    Date date = new Date();
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
+                    String dateStr = simpleDateFormat.format(date);
+                    RetrofitManager.getInstance().getRetrofit().create(ApiService.class)
+                            .roomMeetings(dateStr + "00:00:00", dateStr + "23:59:59", room.getRoomNo()).enqueue(new Callback<List<RoomMeetings>>() {
+                        @Override
+                        public void onResponse(@NonNull Call<List<RoomMeetings>> call, @NonNull Response<List<RoomMeetings>> response) {
+
+                        }
+
+                        @Override
+                        public void onFailure(@NonNull Call<List<RoomMeetings>> call, @NonNull Throwable t) {
+
+                        }
+                    });
+                }
+            }
+        }, 0, 60 * 1000);
     }
 }

+ 57 - 0
app/src/main/java/com/ht/gate/RetrofitManager.java

@@ -0,0 +1,57 @@
+package com.ht.gate;
+
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.OkHttpClient;
+import okhttp3.logging.HttpLoggingInterceptor;
+import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class RetrofitManager {
+    private final String BASE_URL = "https://api.github.com";
+    private static RetrofitManager sInstance;
+    private Retrofit mRetrofit;
+    public static RetrofitManager getInstance() {
+        if (null == sInstance) {
+            synchronized (RetrofitManager.class) {
+                if (null == sInstance) {
+                    sInstance = new RetrofitManager();
+                }
+            }
+        }
+        return sInstance;
+    }
+
+    public void init() {
+        if(mRetrofit == null) {
+            //初始化一个OkHttpClient
+            OkHttpClient.Builder builder = new OkHttpClient.Builder()
+                    .connectTimeout(30000, TimeUnit.MILLISECONDS)
+                    .readTimeout(30000, TimeUnit.MILLISECONDS)
+                    .writeTimeout(30000, TimeUnit.MILLISECONDS);
+            HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
+            loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
+            builder.addInterceptor(loggingInterceptor);
+            OkHttpClient okHttpClient = builder.build();
+
+            //使用该OkHttpClient创建一个Retrofit对象
+            mRetrofit = new Retrofit.Builder()
+                    //添加Gson数据格式转换器支持
+                    .addConverterFactory(GsonConverterFactory.create())
+                    //添加RxJava语言支持
+                    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+                    //指定网络请求client
+                    .client(okHttpClient)
+                    .baseUrl(BASE_URL)
+                    .build();
+        }
+    }
+
+    public Retrofit getRetrofit() {
+        if(mRetrofit == null) {
+            throw  new IllegalStateException("Retrofit instance hasn't init!");
+        }
+        return mRetrofit;
+    }
+}

+ 39 - 0
app/src/main/java/com/ht/gate/Utils.java

@@ -3,6 +3,12 @@ package com.ht.gate;
 import android.content.Context;
 import android.util.TypedValue;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
 public class Utils {
     public static int sp2px(float sp, Context context) {
         return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp,
@@ -13,4 +19,37 @@ public class Utils {
         return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,
                 context.getResources().getDisplayMetrics());
     }
+
+    public static String getWeekDay(String dateStr) {
+        try {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
+            String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
+            Date date = dateFormat.parse(dateStr);
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(date);
+            return weekDays[cal.get(Calendar.DAY_OF_WEEK)];
+        } catch (Exception e) {
+            return "";
+        }
+    }
+
+    public static String formatDateStr(String dateStr) {
+        try {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
+            Date date = dateFormat.parse(dateStr);
+            return new SimpleDateFormat("MM月dd日", Locale.CHINA).format(date);
+        } catch (Exception e) {
+            return "";
+        }
+    }
+
+    public static String getTimeStr(String dateTimeStr) {
+        try {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
+            Date date = dateFormat.parse(dateTimeStr);
+            return new SimpleDateFormat("HH:mm", Locale.CHINA).format(date);
+        } catch (Exception e) {
+            return "";
+        }
+    }
 }

+ 19 - 1
app/src/main/java/com/ht/gate/WelcomeActivity.java

@@ -1,6 +1,8 @@
 package com.ht.gate;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import android.content.ComponentName;
 import android.content.Intent;
@@ -10,6 +12,7 @@ import android.os.Bundle;
 import android.os.IBinder;
 import android.util.Log;
 import android.view.View;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import org.greenrobot.eventbus.EventBus;
@@ -27,7 +30,11 @@ public class WelcomeActivity extends AppCompatActivity {
     UnlockView unlockView;
     @BindView(R.id.tv_space_name)
     TextView tvSpaceName;
-
+    @BindView(R.id.rl_meetings)
+    RelativeLayout rlMeetings;
+    @BindView(R.id.rv_meetings)
+    RecyclerView rvMeetings;
+    private MeetingAdapter adapter;
     private SharedPreferences sharedPreferences;
     private DoorService.DoorBinder mDoorBinder;
 
@@ -58,6 +65,9 @@ public class WelcomeActivity extends AppCompatActivity {
             }
         });
         bindService(new Intent(this, DoorService.class), connection, BIND_AUTO_CREATE);
+        adapter = new MeetingAdapter(this);
+        rvMeetings.setLayoutManager(new LinearLayoutManager(this));
+        rvMeetings.setAdapter(adapter);
     }
 
     @OnClick(R.id.btn_settings)
@@ -71,6 +81,14 @@ public class WelcomeActivity extends AppCompatActivity {
         if ("closed".equals(msg)) {
             finish();
         }
+        if ("meetings".equals(msg)) {
+            if (MyApplication.todayMeetings.isEmpty()) {
+                rlMeetings.setVisibility(View.GONE);
+            } else {
+                rlMeetings.setVisibility(View.VISIBLE);
+            }
+            adapter.notify();
+        }
     }
 
     private void updateStatus() {

+ 25 - 0
app/src/main/java/com/ht/gate/domain/Meeting.java

@@ -0,0 +1,25 @@
+package com.ht.gate.domain;
+
+import java.util.List;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class Meeting {
+    private String uuid;
+    private String createTime;
+    private String subject;
+    private String description;
+    private String status;
+    private String beginDate;
+    private String beginTimeStr;
+    private String endTimeStr;
+    private User createUser;
+    private List<User> attendees;
+    private String meetingPurpose;
+    private String welcomeText;
+    private Integer attendeeNum;
+    private String meetingService;
+}

+ 66 - 0
app/src/main/java/com/ht/gate/domain/Room.java

@@ -0,0 +1,66 @@
+package com.ht.gate.domain;
+
+import android.content.SharedPreferences;
+import android.util.Base64;
+
+import androidx.annotation.Nullable;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class Room implements Serializable {
+    private String roomNo;// 会议室编号(用于会议室唯一编号)
+    private String roomName;
+    private String siteCode;
+    private String siteName; //营业部名称
+    private String branchDeptCode; //分公司zz编号
+    private String branchDeptName; //分公司名称
+    private String remark;
+    private String deviceCode; //电子屏设备号
+    private String devicePassword; //电子屏设备管理密码
+    private Integer capacity; //可容纳人数
+    private String provideService; //可提供的服务
+    private String roomBizNum;
+
+    public String toBase64() {
+        try {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            ObjectOutputStream os = new ObjectOutputStream(baos);
+            os.writeObject(this);
+            String output = new String(Base64.encode(baos.toByteArray(),
+                    Base64.DEFAULT));
+            baos.close();
+            os.close();
+            return output;
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public static Room fromBase64(@Nullable String base64) {
+        try {
+            byte[] base64Bytes = Base64
+                    .decode(base64.getBytes(), Base64.DEFAULT);
+            ByteArrayInputStream ipos = new ByteArrayInputStream(base64Bytes);
+            ObjectInputStream is = new ObjectInputStream(ipos);
+            Room room = (Room) is.readObject();
+            ipos.close();
+            is.close();
+            return room;
+        } catch (IOException | ClassNotFoundException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+}

+ 13 - 0
app/src/main/java/com/ht/gate/domain/RoomMeetings.java

@@ -0,0 +1,13 @@
+package com.ht.gate.domain;
+
+import java.util.List;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class RoomMeetings {
+    private Room room;
+    private List<Meeting> meetings;
+}

+ 12 - 0
app/src/main/java/com/ht/gate/domain/User.java

@@ -0,0 +1,12 @@
+package com.ht.gate.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class User {
+    private String userId;
+    private String userName;
+}

+ 25 - 0
app/src/main/res/layout/activity_main.xml

@@ -68,4 +68,29 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toBottomOf="@id/tv_room_no" />
+
+    <RelativeLayout
+        android:id="@+id/rl_meetings"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:background="#1FFFFFFF"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/rv_meetings"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+        <ImageView
+            android:id="@+id/iv_arrow"
+            android:layout_width="32dp"
+            android:layout_height="32dp"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="8dp"
+            android:src="@mipmap/icon_arrow" />
+    </RelativeLayout>
+
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 23 - 0
app/src/main/res/layout/activity_welcome.xml

@@ -212,4 +212,27 @@
             app:layout_constraintRight_toRightOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 
+    <RelativeLayout
+        android:id="@+id/rl_meetings"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:background="#1FFFFFFF"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/rv_meetings"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+        <ImageView
+            android:id="@+id/iv_arrow"
+            android:layout_width="32dp"
+            android:layout_height="32dp"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="8dp"
+            android:src="@mipmap/icon_arrow" />
+    </RelativeLayout>
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 23 - 0
app/src/main/res/layout/item_meeting.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="36dp"
+    android:gravity="center"
+    android:orientation="horizontal"
+    android:paddingLeft="16dp"
+    android:paddingRight="16dp">
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:src="@mipmap/icon_alert" />
+
+    <TextView
+        android:id="@+id/tv_content"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="16dp"
+        android:layout_weight="1"
+        android:textColor="@android:color/white"
+        android:textSize="13sp" />
+</LinearLayout>

BIN
app/src/main/res/mipmap-xhdpi/icon_alert.png


BIN
app/src/main/res/mipmap-xhdpi/icon_arrow.png


BIN
app/src/main/res/mipmap-xxhdpi/icon_alert.png


BIN
app/src/main/res/mipmap-xxhdpi/icon_arrow.png


BIN
app/src/main/res/mipmap-xxxhdpi/icon_alert.png


BIN
app/src/main/res/mipmap-xxxhdpi/icon_arrow.png


+ 16 - 0
app/src/test/java/com/ht/gate/ExampleUnitTest.java

@@ -2,6 +2,12 @@ package com.ht.gate;
 
 import org.junit.Test;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
 import static org.junit.Assert.*;
 
 /**
@@ -14,4 +20,14 @@ public class ExampleUnitTest {
     public void addition_isCorrect() {
         assertEquals(4, 2 + 2);
     }
+
+    @Test
+    public void testCalendar() throws ParseException {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
+        Date date = dateFormat.parse("2020-01-07");
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        int day = cal.get(Calendar.DAY_OF_WEEK);
+        System.out.println(day);
+    }
 }

+ 8 - 12
gradle.properties

@@ -1,20 +1,16 @@
-# Project-wide Gradle settings.
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-# For more details on how to configure your build environment visit
+## For more details on how to configure your build environment visit
 # http://www.gradle.org/docs/current/userguide/build_environment.html
+#
 # Specifies the JVM arguments used for the daemon process.
 # The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
+# Default value: -Xmx1024m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+#
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
-# AndroidX package structure to make it clearer which packages are bundled with the
-# Android operating system, and which are packaged with your app's APK
-# https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
-# Automatically convert third-party libraries to use AndroidX
+#Tue Jan 07 14:14:16 CST 2020
 android.enableJetifier=true
-
+org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
+android.useAndroidX=true