Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8658e552 authored by Ken Wakasa's avatar Ken Wakasa
Browse files

Makefile and source code structure update for LatinIME AOSP build

Change-Id: Ia2ab54651ef96521fce01fe4755147909b818803
parent 26c45718
Loading
Loading
Loading
Loading
+15 −13
Original line number Diff line number Diff line
@@ -50,11 +50,18 @@ LATIN_IME_CORE_SRC_FILES := \
    proximity_info.cpp \
    proximity_info_state.cpp \
    unigram_dictionary.cpp \
    gesture/build_check.cpp
    gesture/incremental_decoder_interface.cpp

LATIN_IME_GESTURE_IMPL_SRC_FILES := \
    gesture/impl/gesture_decoder_impl.cpp \
    gesture/impl/incremental_decoder_impl.cpp \
    gesture/impl/token_beam_impl.cpp \
    gesture/impl/token_impl.cpp

LOCAL_SRC_FILES := \
    $(LATIN_IME_JNI_SRC_FILES) \
    $(addprefix $(LATIN_IME_SRC_DIR)/,$(LATIN_IME_CORE_SRC_FILES))
    $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES)) \
    $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_GESTURE_IMPL_SRC_FILES))

ifeq ($(FLAG_DO_PROFILE), true)
    $(warning Making profiling version of native library)
@@ -79,21 +86,16 @@ include $(BUILD_STATIC_LIBRARY)
######################################
include $(CLEAR_VARS)

LOCAL_C_INCLUDES += $(LATIN_IME_SRC_FULLPATH_DIR) \
    $(addprefix $(LATIN_IME_SRC_FULLPATH_DIR)/, gesture gesture/impl gesture/impl/header)
LOCAL_C_INCLUDES = $(LATIN_IME_SRC_FULLPATH_DIR) $(LATIN_IME_SRC_FULLPATH_DIR)/gesture

LOCAL_CFLAGS += -Werror -Wall

# To suppress compiler warnings for unused variables/functions used for debug features etc.
LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function

LATIN_IME_GESTURE_IMPL_SRC_FILES := \
    gesture/impl/gesture_decoder_impl.cpp \
    gesture/impl/incremental_decoder_impl.cpp \
    gesture/impl/token_beam_impl.cpp \
    gesture/impl/token_impl.cpp

LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_SRC_DIR)/,$(LATIN_IME_GESTURE_IMPL_SRC_FILES))
LOCAL_SRC_FILES := \
    $(LATIN_IME_JNI_SRC_FILES) \
    $(addprefix $(LATIN_IME_SRC_DIR)/,$(LATIN_IME_CORE_SRC_FILES))

ifeq ($(FLAG_DO_PROFILE), true)
    $(warning Making profiling version of native library)
@@ -105,7 +107,7 @@ ifeq ($(FLAG_DBG), true)
endif # FLAG_DBG
endif # FLAG_DO_PROFILE

LOCAL_MODULE := libjni_latinime_gesture_impl_static
LOCAL_MODULE := libjni_latinime_common_static
LOCAL_MODULE_TAGS := optional

ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
@@ -119,7 +121,7 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)

# All code in LOCAL_WHOLE_STATIC_LIBRARIES will be built into this shared library.
LOCAL_WHOLE_STATIC_LIBRARIES := libjni_latinime_static libjni_latinime_gesture_impl_static
LOCAL_WHOLE_STATIC_LIBRARIES := libjni_latinime_static

ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
LOCAL_SHARED_LIBRARIES := libstlport
+4 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "binary_format.h"
#include "defines.h"
#include "dictionary.h"
#include "incremental_decoder_interface.h"

namespace latinime {

@@ -43,7 +44,8 @@ Dictionary::Dictionary(void *dict, int dictSize, int mmapFd, int dictBufAdjust,
    mUnigramDictionary = new UnigramDictionary(mDict + headerSize, typedLetterMultiplier,
            fullWordMultiplier, maxWordLength, maxWords, options);
    mBigramDictionary = new BigramDictionary(mDict + headerSize, maxWordLength);
    mGestureDecoder = new GestureDecoder(maxWordLength, maxWords);
    mGestureDecoder = IncrementalDecoderInterface::getGestureDecoderInstance(maxWordLength,
            maxWords);
    mGestureDecoder->setDict(mUnigramDictionary, mBigramDictionary,
            mDict + headerSize /* dict root */, 0 /* root pos */);
}
@@ -51,6 +53,7 @@ Dictionary::Dictionary(void *dict, int dictSize, int mmapFd, int dictBufAdjust,
Dictionary::~Dictionary() {
    delete mUnigramDictionary;
    delete mBigramDictionary;
    delete mGestureDecoder;
}

int Dictionary::getFrequency(const int32_t *word, int length) const {
+2 −2
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
#include "bigram_dictionary.h"
#include "char_utils.h"
#include "defines.h"
#include "gesture/gesture_decoder.h"
#include "incremental_decoder_interface.h"
#include "proximity_info.h"
#include "unigram_dictionary.h"
#include "words_priority_queue_pool.h"
@@ -87,7 +87,7 @@ class Dictionary {

    const UnigramDictionary *mUnigramDictionary;
    const BigramDictionary *mBigramDictionary;
    GestureDecoder *mGestureDecoder;
    IncrementalDecoderInterface *mGestureDecoder;
};

// public static utility methods
+0 −37
Original line number Diff line number Diff line
/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef LATINIME_GESTURE_DECODER_H
#define LATINIME_GESTURE_DECODER_H

#include "defines.h"
#include "gesture_decoder_impl.h"

namespace latinime {

class GestureDecoder : public GestureDecoderImpl {

 public:
    GestureDecoder(int maxWordLength, int maxWords) :
            GestureDecoderImpl(maxWordLength, maxWords) {
    }

 private:
    DISALLOW_IMPLICIT_CONSTRUCTORS(GestureDecoder);
};
} // namespace latinime

#endif // LATINIME_INCREMENTAL_DECODER_H
+20 −1
Original line number Diff line number Diff line
@@ -15,7 +15,26 @@
 */

#include "gesture_decoder_impl.h"
#include "incremental_decoder_interface.h"

namespace latinime {

// A factory method for GestureDecoderImpl
static IncrementalDecoderInterface *getDecoderInstance(int maxWordLength, int maxWords) {
    return new GestureDecoderImpl(maxWordLength, maxWords);
}

// An ad-hoc internal class to register the factory method defined above
class GestureDecoderFactoryRegisterer {
 public:
    GestureDecoderFactoryRegisterer() {
        IncrementalDecoderInterface::setGestureDecoderFactoryMethod(getDecoderInstance);
    }
 private:
    DISALLOW_COPY_AND_ASSIGN(GestureDecoderFactoryRegisterer);
};
// namespace latinime

// To invoke the GestureDecoderFactoryRegisterer constructor in the global constructor
// Not sure, but can be static?
GestureDecoderFactoryRegisterer gestureDecoderFactoryRegisterer;
} // namespace latinime
Loading